WEI-CHENG CHEN

說明

檢查是否為合法數獨

解法

class Solution {
public:
    bool isValidSudoku(vector<vector<char>>& board) {
        // STEP01:
        vector<vector<int>> row(9, vector<int>(10, 0));
        vector<vector<int>> col(9, vector<int>(10, 0));
        vector<vector<int>> box(9, vector<int>(10, 0));

        for(int i=0;i<9;i++){
            for(int j=0;j<9;j++){
                // 跳過空格
                if(board[i][j]=='.') continue;
                else{
                    int temp = board[i][j]-'0'; // 取出該值
                    if(row[i][temp]==1) return false;
                    if(col[j][temp]==1) return false;
                    if(box[j/3 + (i/3)*3][temp]) return false;

                    // 紀錄
                    row[i][temp]=1;
                    col[j][temp]=1;
                    box[j/3 + (i/3)*3][temp]=1;
                }
            }
        }
        return true;
    }
};