Leetcode36 有效的数独
题目分析
代码分析
这个相当于是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日

海康威视公司福利 1125人发布