leetcode: Valid Sudoku
2014-03-18 20:14
253 查看
根据坐标找到对应的行,列,块即可。
设置三个标志矩阵。
public class Solution {
public boolean isValidSudoku(char[][] board) {
int[][] rowflag=new int[9][9];
int[][] colflag=new int[9][9];
int[][] chuflag=new int[9][9];
int i,j,tmp;
for(i=0;i<9;i++)
for(j=0;j<9;j++)
{
rowflag[i][j]=0;
colflag[i][j]=0;
chuflag[i][j]=0;
}
for(i=0;i<9;i++)
for(j=0;j<9;j++)
{
if(board[i][j]=='.')
continue;
tmp=board[i][j]-'0'-1;
if(rowflag[i][tmp]!=0 || colflag[j][tmp]!=0 || chuflag[i/3*3+j/3][tmp]!=0)
return false;
else
{
rowflag[i][tmp]=1;
colflag[j][tmp]=1;
chuflag[i/3*3+j/3][tmp]=1;
}
}
return true;
}
}
设置三个标志矩阵。
public class Solution {
public boolean isValidSudoku(char[][] board) {
int[][] rowflag=new int[9][9];
int[][] colflag=new int[9][9];
int[][] chuflag=new int[9][9];
int i,j,tmp;
for(i=0;i<9;i++)
for(j=0;j<9;j++)
{
rowflag[i][j]=0;
colflag[i][j]=0;
chuflag[i][j]=0;
}
for(i=0;i<9;i++)
for(j=0;j<9;j++)
{
if(board[i][j]=='.')
continue;
tmp=board[i][j]-'0'-1;
if(rowflag[i][tmp]!=0 || colflag[j][tmp]!=0 || chuflag[i/3*3+j/3][tmp]!=0)
return false;
else
{
rowflag[i][tmp]=1;
colflag[j][tmp]=1;
chuflag[i/3*3+j/3][tmp]=1;
}
}
return true;
}
}
相关文章推荐
- 【LeetCode】36. Valid Sudoku
- [LeetCode]题解(python):036-Valid Sudoku
- Leetcode[36]-Valid Sudoku
- Leetcode -- 36. Valid Sudoku
- [leetcode 36] Valid Sudoku
- LeetCode-Valid Sudoku
- [leetcode]Valid Sudoku
- leetcode-36-valid sudoku
- [leetcode 36] Valid Sudoku
- 【Leetcode】Valid Sudoku
- leetCode 36. Valid Sudoku(数独) 哈希
- [LeetCode] Valid Sudoku
- leetcode 036 Valid Sudoku
- leetcode --Valid Sudoku - -简单重点
- leetcode先刷_Valid Sudoku
- [LeetCode] [数独问题] Valid Sudoku
- [LeetCode]36. Valid Sudoku
- LeetCode:Valid Sudoku与Sudoku Solver
- Leetcode - Valid Sudoku
- [leetcode]Valid Sudoku