Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules:
- Each row must contain the digits 1-9 without repetition.
- Each column must contain the digits 1-9 without repetition.
- Each of the nine 3 x 3 sub-boxes of the grid must contain the digits 1-9 without repetition.
Note:
- A Sudoku board (partially filled) could be valid but is not necessarily solvable.
- Only the filled cells need to be validated according to the mentioned rules.
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
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: Same as Example 1, except with the 5 in the top left corner being modified to 8. Since there are two 8βs in the top left 3x3 sub-box, it is invalid.
Constraints:
- board.length == 9
- board[i].length == 9
- board[i][j] is a digit 1-9 or β.β.