大家好,欢迎来到「LeetCode趣味解题:算法也能这么玩」。这次,我们来聊聊 LeetCode 第36题——“有效的数独”。这个问题就像是我们要扮演一个数独小侦探,仔细检查每一个数字,确保它们都合法地呆在自己的位置上。听起来是不是很有意思?不急,接下来我们会用一种轻松幽默的方式来解决这个看似复杂的问题。
题目介绍
题目要求我们编写一个算法来判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可:
- 数字
1-9
在每一行只能出现一次。 - 数字
1-9
在每一列只能出现一次。 - 数字
1-9
在每一个以粗实线分隔的3x3
宫内只能出现一次。
注意:
- 一个有效的数独(部分已被填充)不一定是可解的。
- 只需要根据已经填入的数字要求验证即可。空的单元格用
'.'
表示。
例如:
有效的数独:
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
无效的数独:
8 3 . . 7 . . . .
6 . . 1 9 5 . . .
. 9 8 . . . . 6 .
8 . . . 6 . . . 3
4 . . 8 . 3 . . 1
7 . . . 2 .