Menu
CoddyTech

Valid Sudoku

SedangHashingpython iconjava iconcpp iconc iconjs icon+10

Kamu mendapatkan papan Sudoku 9 × 9 sebagai board, berupa list yang terdiri dari 9 string dengan masing-masing 9 karakter, satu string untuk setiap baris. Setiap karakter adalah digit dari 1 hingga 9 atau . untuk sel kosong. Kembalikan true jika tidak ada digit yang muncul dua kali dalam satu baris, kolom, atau kotak 3 × 3, dan false jika tidak. Hanya sel yang terisi yang diperiksa: papan tidak harus dapat diselesaikan.

Fungsi

isValidSudoku(board: string-array) → boolean
boardstring-array
9 string yang masing-masing terdiri dari 9 karakter, satu per baris, menggunakan digit 1 sampai 9 dan . untuk sel kosong
Mengembalikanboolean
benar jika tidak ada baris, kolom, atau kotak 3 × 3 yang mengulang digit, salah jika tidak

Batasan

  • board.length == 9 dan board[i].length == 9
  • board[i][j] adalah digit dari 1 hingga 9 atau .
  • Papan mungkin mustahil diselesaikan, yang penting hanya pengulangan di antara sel yang sudah terisi.

Contoh

Input
board = [".19......", "..89...3.", ".3.8.....", ".5..6....", ".74..89.3", "....7....", ".2.5..19.", "1....3...", ".8......7"]
Output
true
Penjelasan
Baris 4, dihitung mulai dari 0, .74..89.3, memiliki angka 7, 4, 8, 9, dan 3 masing-masing satu kali, dan tidak ada satu pun dari 26 kelompok lainnya yang mengulang angka.
challenge icon

Pertanyaan lanjutan

Bagaimana cara memeriksa papan 16 × 16 dengan kotak 4 × 4 dan simbol 1 sampai 9 serta A sampai G? Menjadi seperti apa rumus kotaknya?

Reset kode
def isValidSudoku(board):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

board = [".19......", "..89...3.", ".3.8.....", ".5..6....", ".74..89.3", "....7....", ".2.5..19.", "1....3...", ".8......7"]

Output yang diharapkan

true