mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-06 01:15:57 +08:00
76 lines
2.8 KiB
Markdown
Executable File
76 lines
2.8 KiB
Markdown
Executable File
# [36. Valid Sudoku](https://leetcode.com/problems/valid-sudoku/)
|
||
|
||
|
||
## 题目
|
||
|
||
Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated **according to the following rules**:
|
||
|
||
1. Each row must contain the digits `1-9` without repetition.
|
||
2. Each column must contain the digits `1-9` without repetition.
|
||
3. Each of the 9 `3x3` sub-boxes of the grid must contain the digits `1-9` without repetition.
|
||
|
||

|
||
|
||
A partially filled sudoku which is valid.
|
||
|
||
The Sudoku board could be partially filled, where empty cells are filled with the character `'.'`.
|
||
|
||
**Example 1:**
|
||
|
||
|
||
Input:
|
||
[
|
||
["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:
|
||
[
|
||
["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.
|
||
|
||
|
||
**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.
|
||
- The given board contain only digits `1-9` and the character `'.'`.
|
||
- The given board size is always `9x9`.
|
||
|
||
## 题目大意
|
||
|
||
判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。
|
||
|
||
1. 数字 1-9 在每一行只能出现一次。
|
||
2. 数字 1-9 在每一列只能出现一次。
|
||
3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。
|
||
|
||
|
||
## 解题思路
|
||
|
||
- 给出一个数独的棋盘,要求判断这个棋盘当前是否满足数独的要求:即行列是否都只包含 1-9,每个九宫格里面是否也只包含 1-9 。
|
||
- 注意这题和第 37 题是不同的,这一题是判断当前棋盘状态是否满足数独的要求,而第 37 题是要求求解数独。本题中的棋盘有些是无解的,但是棋盘状态是满足题意的。
|