有效的数独。判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。
- 数字
1-9
在每一行只能出现一次。 - 数字
1-9
在每一列只能出现一次。 - 数字
1-9
在每一个以粗实线分隔的3x3
宫内只能出现一次。
上图是一个部分填充的有效的数独。
数独部分空格内已填入了数字,空白格用 '.'
表示。
示例 1:
1 |
|
示例 2:
1 |
|
说明:
- 一个有效的数独(部分已被填充)不一定是可解的。
- 只需要根据以上规则,验证已经填入的数字是否有效即可。
- 给定数独序列只包含数字
1-9
和字符'.'
。 - 给定数独永远是
9x9
形式的。
思路一
数独有9行9列9个块,每行每列每个块定义一个 hash 表,通过 hash 表来判断是否有重复出现的数字。
1 |
|
思路二
通过一个 hash 表同时判断三种情况,将数字属于某个组编码成字符串,在 hash 表中存入字符串。
1 |
|