做动态h5的网站,市场调研的四个步骤,网站的风格包含的因素,网站建设可以使用模板么请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 #xff0c;验证已经填入的数字是否有效即可。
数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。#xff08;请参考示例图#xff09; 注…
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 验证已经填入的数字是否有效即可。
数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。请参考示例图 注意
一个有效的数独部分已被填充不一定是可解的。只需要根据以上规则验证已经填入的数字是否有效即可。空白格用 . 表示。 思路一普通人暴力法使用哈希表
class Solution {public boolean isValidSudoku(char[][] board) {int rowSize board.length;int cellSize board[0].length;SetCharacter set new HashSet();for(int i0; irowSize; i) {set.clear();for(int j0; jcellSize; j) {char ele board[i][j];if(. ! ele) {if(set.contains(ele)) {return false;}set.add(ele);}}}for(int i0; icellSize; i) {set.clear();for(int j0; jrowSize; j) {char ele board[j][i];if(. ! ele) {if(set.contains(ele)) {return false;}set.add(ele);}}}for(int i0; i3; i) {for(int j0; j3; j) {set.clear();for(int ki*3;k(i1)*3;k) {for(int qj*3;q(j1)*3;q) {char ele board[k][q];if(. ! ele) {if(set.contains(ele)) {return false;}set.add(ele);}}}}}return true;}
}
思路二数学方法 class Solution {public boolean isValidSudoku(char[][] board) {int[][] rows new int[9][9];int[][] columns new int[9][9];int[][][] subboxes new int[3][3][9];for (int i 0; i 9; i) {for (int j 0; j 9; j) {char c board[i][j];if (c ! .) {int index c - 0 - 1;rows[i][index];columns[j][index];subboxes[i / 3][j / 3][index];if (rows[i][index] 1 || columns[j][index] 1 || subboxes[i / 3][j / 3][index] 1) {return false;}}}}return true;}
}