c_cpp 36.有效的数独 - 难度中等 - 2018.9.18

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 36.有效的数独 - 难度中等 - 2018.9.18相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    bool isValidSudoku(vector<vector<char>>& board) {
        // 判断每一行是否有重复
        for (int i = 0; i < 9; i++) {
            vector<int> tVec(9, 0);
            for (int j = 0; j < 9; j++) {
                if (board[i][j] == '.') {
                    continue;
                }
                if (tVec[board[i][j] - '0'] == 1) {
                    return false;
                }
                tVec[board[i][j] - '0'] += 1;
            }
        }
        // 判断每一列是否有重复
        for (int i = 0; i < 9; i++) {
            vector<int> tVec(9, 0);
            for (int j = 0; j < 9; j++) {
                if (board[j][i] == '.') {
                    continue;
                }
                if (tVec[board[j][i] - '1'] == 1) {
                    return false;
                }
                tVec[board[j][i] - '1'] += 1;
            }
        }
        // 判断每一个3*3格子是否有重复
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                vector<int> tVec(9, 0);
                for (int z = 0; z < 9; z++) {
                    if (board[i*3 + z/3][j*3 + z%3] == '.') {
                        continue;
                    }
                    if (tVec[board[i*3 + z/3][j*3 + z%3] - '1'] == 1) {
                        return false;
                    }
                    tVec[board[i*3 + z/3][j*3 + z%3] - '1'] += 1;
                }
            }
        }
        return true;
    }
};

以上是关于c_cpp 36.有效的数独 - 难度中等 - 2018.9.18的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode刷题100天—36. 有效的数独(数组+哈希)—day26

Leetcode刷题100天—36. 有效的数独(数组+哈希)—day26

c_cpp 36.有效的数独

leetcode中等36有效的数独

36. 有效的数独

36.有效的数独