怎么做一个属于自己的网站,网站设计一个页多少钱,网络服务商英文简称,网站建设配置题目#xff1a;
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 #xff0c;验证已经填入的数字是否有效即可。
数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。#xff08;请参考示例…题目
请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 验证已经填入的数字是否有效即可。
数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。请参考示例图 注意
一个有效的数独部分已被填充不一定是可解的。只需要根据以上规则验证已经填入的数字是否有效即可。空白格用 . 表示。 思路
可以用下标数组来判断有没有重复数字只有1-9的话就创立数组比如有9那就a[9] 1 如果有数字大于1则证明有重复
要判断的总共有9*3的数组横排竖排9个小矩阵做个map然后建立对应的数组即可 按照上面的方法判断重复 代码 public boolean isValidSudoku(char[][] board) {MapString, int[] map new HashMap();for (int i 0; i 9; i) {for (int j 0; j 9; j) {if (board[i][j] ! .) {String str (i / 3) , (j / 3);int[] flags map.getOrDefault(str, new int[10]);int v1 Integer.valueOf(String.valueOf(board[i][j]));flags[v1] 1;map.put(str, flags);if (flags[v1] 1) {return false;}int[] flagsCol map.getOrDefault(R i, new int[10]);flagsCol[v1] 1;if (flagsCol[v1] 1) {return false;}map.put(R i, flagsCol);int[] flagsRow map.getOrDefault(C j, new int[10]);flagsRow[v1] 1;if (flagsRow[v1] 1) {return false;}map.put(C j, flagsRow);}}}return true;}