LC-36 有效的数独
主要目标:
根据输入的9x9的数独数据,判断改数独是否有效(有效条件:每个横列都是1-9,每个竖列都是1-9,分成的9个3x3都是1-9)
思路:
注意,题目说明了,仅判断数独的有效性,并不判断数独的可解性,所以我们只需根据三个条件简单遍历,判断每一竖列,每一横列,每一3x3不会出现重复元素即可。
其中横列,竖列的判断都很容易,2个嵌套循环的事情。
而3x3的块,我们则需要找出每个块的初始坐标点,有以下方式:
x_start = (i * 3) % 9
y_start = i / 3 * 3 (这里可能有点tricky,数学来说除三乘三是就等于i,但是这里的除是c语言中的整数除,除出来的结果为整数。)
注意这里的i为第i个3x3小块。
然后遍历3x3小块即可