leetcode36. Valid Sudoku

来源:互联网 发布:个人如何注册淘宝店铺 编辑:程序博客网 时间:2024/05/06 09:12

leetcode36. Valid Sudoku

class Solution {public:    bool isValidSudoku(vector<vector<char>>& board) {        bool result = true;        int filled[3][board.size()][board.size()];        for(int i=0;i<board.size();i++){            for(int j = 0;j<board[i].size();j++){                    filled[0][i][j] = -1;                    filled[1][i][j] = -1;                    filled[2][i][j] = -1;            }        }        for(int i=0;i<board.size();i++){            for(int j = 0;j<board[i].size();j++){                if(board[i][j]!='.'){                    if(filled[0][i][board[i][j] - '0' -1] == -1)                        filled[0][i][board[i][j] - '0' - 1] = i;                    else{                        //cout<<"x"<<filled[2][(i/3 * 3 +j/3)][board[i][j] - '0' -1]<<endl;                        return false;                    }                    if(filled[1][j][board[i][j] - '0' -1] == -1)                        filled[1][j][board[i][j] - '0' -1] = j;                    else{                        //cout<<"y"<<filled[2][(i/3 * 3 +j/3)][board[i][j] - '0' -1]<<endl;                        return false;                    }                    if(filled[2][(i/3 * 3 +j/3)][board[i][j] - '0' -1] == -1)                        filled[2][(i/3 * 3 +j/3)][board[i][j] - '0' -1] = ((i%3)*3 +j%3);                    else{                       // cout<<"square"<<filled[2][(i/3 * 3 +j/3)][board[i][j] - '0' -1]<<endl;                        return false;                    }                }            }        }        return result;    }};