Menu
CoddyTech

Valid Sudoku

MedioHashingpython iconjava iconcpp iconc iconjs icon+10

Ricevi una griglia di Sudoku 9 × 9 come board, un elenco di 9 stringhe di 9 caratteri ciascuna, una stringa per riga. Ogni carattere è una cifra da 1 a 9 oppure . per una casella vuota. Restituisci true se nessuna cifra compare due volte in una riga, una colonna o un riquadro 3 × 3, e false altrimenti. Vengono controllate solo le caselle compilate: non è necessario che la griglia sia risolvibile.

Funzione

isValidSudoku(board: string-array) → boolean
boardstring-array
9 stringhe di 9 caratteri, una per riga, cifre da 1 a 9 e . per una cella vuota
Restituisceboolean
true se nessuna riga, colonna o casella 3 × 3 ripete una cifra, false altrimenti

Vincoli

  • board.length == 9 e board[i].length == 9
  • board[i][j] è una cifra da 1 a 9 oppure .
  • La scacchiera potrebbe essere impossibile da completare; contano solo le ripetizioni tra le celle riempite.

Esempi

Input
board = [".19......", "..89...3.", ".3.8.....", ".5..6....", ".74..89.3", "....7....", ".2.5..19.", "1....3...", ".8......7"]
Output
true
Spiegazione
La riga 4, contando da 0, .74..89.3, contiene una volta ciascuno i numeri 7, 4, 8, 9 e 3, e nessuno degli altri 26 gruppi ripete una cifra.
challenge icon

Per approfondire

Come controlleresti una griglia 16 × 16 con riquadri 4 × 4 e i simboli da 1 a 9 e da A a G? Come diventa la formula dei riquadri?

Ripristina il codice
def isValidSudoku(board):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

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

Output atteso

true