leetcode36——有效数独

题目描述


判断一个9x9的数独是否有效,只需要根据以下规则,验证已经填入的数字是否有效即可。
    1. 数字1-9在每一行只能出现一次。
    2. 数字1-9在每一列只能出现一次。
    3. 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。
leetcode36——有效数独
上图是一个部分填充的有效的数独。
数独部分空格内已填入了数字,空白格用’.'表示。


样例


leetcode36——有效数独


解决的思路


将整个9x9的矩阵,分成9块,每块中的每一个元素,分别与所在行和所在列的元素,进行比对。同一行的元素,列每次加1;同一列的元素,行每次
加1;每一块的元素放入一个链表里,每次对判断该元素是否已存在在链表中。


解决要点


理清标号与行列之间的关系,以下是从左到右标号(0开头)的关系:
列 = number % 一行元素的个数;
行 = number / 一行元素的个数;
号 = 行 * 一行元素个数 + 列;


执行结果


leetcode36——有效数独