150 najlepszych wywiadówŁatwe

Prawidłowe Sudoku

Szczegółowy przewodnik i implementacja Python dla problemu „Prawidłowe Sudoku”.

Oświadczenie o problemie

Łatwe

Sprawdź, czy plansza Sudoku 9 x 9 jest ważna. Tylko wypełnione komórki wymagają walidacji zgodnie z następującymi zasadami:

1. Każdy wiersz musi zawierać cyfry 1-9 bez powtórzeń.

2. Każda kolumna musi zawierać cyfry 1-9 bez powtórzeń.

3. Każde z dziewięciu podobszarów siatki 3 x 3 musi zawierać cyfry 1-9 bez powtórzeń.

Uwaga: Plansza Sudoku (częściowo wypełniona) może być ważna, ale niekoniecznie możliwa do rozwiązania. Należy sprawdzić tylko wypełnione komórki.

Napisz funkcję isValidSudoku(board: List[List[str]]) -> bool.

Ograniczenia
  • board.length == 9
  • board[i].length == 9
  • board[i][j] is a digit 1-9 or '.'

Przykłady

Example 1
Input
board = [["5","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]]
Output
True
Explanation

No row, column, or 3x3 sub-box contains a duplicate digit.

Example 2
Input
board = [["8","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]]
Output
False
Explanation

The digit 8 appears twice in the first column (rows 0 and 3) and twice in the top-left 3x3 sub-box.

Need a Hint?
Rozważ użycie struktur danych specyficznych dla tablic i haszowania, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Otwórz w Edytorze
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.