题目分析
代码分析
这个相当于是leetcode37的准备,使用到了hash的思想,通过数组的形式进行判断就可以了
代码总结
public static boolean isValidSudoku(char[][] board) { //大方格的判断 for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { int starti=3*i; int startj=3*j; int[] map=new int[10]; for(int qi=starti;qi<starti+3;qi++) for(int qj=startj;qj<startj+3;qj++) { if(board[qi][qj]=='.') { continue; } else { if(map[board[qi][qj]-'0']!=0) { return false; } else map[board[qi][qj]-'0']=1; } } } } for(int i=0;i<board.length;i++) { int[] map=new int[10]; for(int j=0;j<board[0].length;j++) { if(board[i][j]=='.') { continue; }else { if(map[board[i][j]-'0']!=0) { return false; } else map[board[i][j]-'0']=1; } } } for(int j=0;j<board[0].length;j++) { int[] map=new int[10]; for(int i=0;i<board.length;i++) { if(board[i][j]=='.') { continue; }else { if(map[board[i][j]-'0']!=0) { return false; } else map[board[i][j]-'0']=1; } } } return true; }
学习情况
完成1次 12月24日