Valid Sudoku

来源:互联网 发布:两组数据差值的标准差 编辑:程序博客网 时间:2024/06/05 15:02
class Solution {public:    bool isValidSudoku(vector<vector<char> > &board) {        int numCnt[10];        memset(numCnt,0,sizeof(numCnt));        //check row        for(int row=0;row<9;++row)        {            for(int col=0;col<9;++col)            {                if(board[row][col]!='.')                {                    if(numCnt[board[row][col]-'0']==0)                    {                        numCnt[board[row][col]-'0']++;                    }                    else                    {                        return false;                    }                }            }            memset(numCnt,0,sizeof(numCnt));        }        //check column        for(int col=0;col<9;++col)        {            for(int row=0;row<9;++row)            {                if(board[row][col]!='.')                {                    if(numCnt[board[row][col]-'0']==0)                    {                        numCnt[board[row][col]-'0']++;                    }                    else                    {                        return false;                    }                }            }            memset(numCnt,0,sizeof(numCnt));        }        //check group        for(int i=0;i<3;++i)        {            for(int j=0;j<3;++j)            {                for(int m=i*3;m<i*3+3;++m)                {                    for(int n=j*3;n<j*3+3;++n)                    {                        if(board[m][n]!='.')                        {                            if(numCnt[board[m][n]-'0']==0)                            {                                numCnt[board[m][n]-'0']++;                            }                            else                            {                                return false;                            }                        }                    }                }                memset(numCnt,0,sizeof(numCnt));            }        }        return true;    }};

0 0