36. Valid Sudoku

    xiaoxiao2021-03-25  105

    两次AC,出现的问题在于没有考虑清楚数独有效的条件。

    行没有重复列没有重复小格子里没有重复 class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { if(board.size()==0||board[0].size()==0) return false; if(board.size()!=9||board[0].size()!=9) return false; set<int> temp; vector<set<int>> row(10,temp); vector<set<int>> col(10,temp); vector<set<int>> grid(10,temp); for(int i=0;i<board.size();i++) { for(int j=0;j<board[0].size();j++) { if(board[i][j]!='.') { if(board[i][j]>='1'&&board[i][j]<='9') { if(row[board[i][j]-'0'].count(i)==0&&col[board[i][j]-'0'].count(j)==0&& grid[3*(i/3)+(j/3)+1].count(board[i][j]-'0')==0) { row[board[i][j]-'0'].insert(i); col[board[i][j]-'0'].insert(j); grid[3*(i/3)+(j/3)+1].insert(board[i][j]-'0'); } else return false; } else return false; } } } return true; } };
    转载请注明原文地址: https://ju.6miu.com/read-16275.html

    最新回复(0)