题目描述
判断一个9x9的数独是否有效,只需要根据以下规则,验证已经填入的数字是否有效即可。
1. 数字1-9在每一行只能出现一次。
2. 数字1-9在每一列只能出现一次。
3. 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。

上图是一个部分填充的有效的数独。
数独部分空格内已填入了数字,空白格用’.'表示。
样例

解决的思路
将整个9x9的矩阵,分成9块,每块中的每一个元素,分别与所在行和所在列的元素,进行比对。同一行的元素,列每次加1;同一列的元素,行每次
加1;每一块的元素放入一个链表里,每次对判断该元素是否已存在在链表中。
解决要点
理清标号与行列之间的关系,以下是从左到右标号(0开头)的关系:
列 = number % 一行元素的个数;
行 = number / 一行元素的个数;
号 = 行 * 一行元素个数 + 列;
执行结果

这篇博客探讨了如何验证9x9数独的有效性。内容包括数独的有效规则,通过样例展示了问题,提出了将数独分为9块并进行比较的解决思路,并详细解释了解决要点,涉及行、列和3x3宫的元素比对。最后,给出了执行结果和代码参考。
1950

被折叠的 条评论
为什么被折叠?



