您的位置:首页 > 其它

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;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode