题目:
思路:
https://blog.51cto.com/u_15072778/3788083
代码:
public boolean isValidSudoku(char[][] board) {// 二维数组第一个标识 0-9行,第二个表示 0-9数字,存的内容boolean 表示第0-9行,0-9这些数字是否有出现过boolean[][] row = new boolean[9][9];boolean[][] col = new boolean[9][9];boolean[][] block = new boolean[9][9];for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j++) {if (board[i][j] != '.') {int num = board[i][j] - '1';int blockIndex = i / 3 * 3 + j / 3; // 这里难以理解if (row[i][num] || col[j][num] || block[blockIndex][num]) {return false;} else {row[i][num] = true;col[j][num] = true;block[blockIndex][num] = true;}}}}return true;}