文章目录
  1. 1. Valid Sudoku

Valid Sudoku


给定一个表示数独的二维矩阵,判断这个二维矩阵是否为有效的二维矩阵。

我的做法是分别判断9个9宫格是否合理,横行是否合理,纵行是否合理。它们的合理判断使用map来记录数字是否出现过,如果出现过就表明不合理,如果3个判断都是合理的,那么表明这个数独是合理的。

2016/6/1更新

可以用3个大小为9的一维数组来记录填下数的情况,分别记录行、列、九宫格的使用情况。数独数组中存在的数以二进制位的形式储存在这3个数组中,比如第一行第一列的数为3,那么row[0]=16(1000二进制),col[0]=16,block[0]=16

遍历数独结构,如果当前元素不是.,那么获取该数a,并声明一个变量b来表示1左移a,这样将b与行、列、九宫格按位与,如果不是0,说明该数之前储存过,那么该数独结构不合法。

文章目录
  1. 1. Valid Sudoku