力扣36.有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要根据以下规则 ,验证已经填入的数字是否有效即可。

  1. 数字 1-9 在每一行只能出现一次。
  2. 数字 1-9 在每一列只能出现一次。
  3. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)

注意:

  • 一个有效的数独(部分已被填充)不一定是可解的。
  • 只需要根据以上规则,验证已经填入的数字是否有效即可。
  • 空白格用 '.' 表示。
cpp 复制代码
class Solution {
public:
    bool isValidSudoku(vector<vector<char>>& board) {
        // check row
        for (int i = 0; i<9; i++) {
            int check[9] = {0};
            for (int j = 0; j<9; j++) {
                if (board[i][j] == '.') continue;
                if (check[board[i][j] - '1'] != 0) {
                    return false;
                }
                check[board[i][j]-'1'] = 1;
            }
        }
        // check col
        for (int i = 0; i<9; i++) {
            int check[9] = {0};
            for (int j = 0; j<9; j++) {
                if (board[j][i] == '.') continue;
                if (check[board[j][i] - '1'] != 0) return false;
                check[board[j][i]-'1'] = 1;
            }
        }
        // check block
        for (int i = 0; i<3; i++) {
            for (int j = 0; j<3; j++) {
                int check[9] = {0};
                for (int ii = i*3; ii<i*3+3; ii++) {
                    for (int jj=j*3; jj<j*3+3; jj++) {
                        if (board[ii][jj] == '.') continue;
                        if (check[board[ii][jj] - '1'] != 0) return false;
                        check[board[ii][jj]-'1'] = 1;
                    }
                }
            }
        }

        return true;
    }
};

好好好,一道数独做一天

学到的:check[board[i][j] - '1']用来表示索引上出现的次数

相关推荐
2401_8576835416 小时前
C++中的原型模式
开发语言·c++·算法
s1hiyu16 小时前
C++动态链接库开发
开发语言·c++·算法
(❁´◡`❁)Jimmy(❁´◡`❁)16 小时前
CF2188 C. Restricted Sorting
c语言·开发语言·算法
We་ct16 小时前
LeetCode 54. 螺旋矩阵:两种解法吃透顺时针遍历逻辑
前端·算法·leetcode·矩阵·typescript
星火开发设计16 小时前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
mit6.82417 小时前
dijk|tire+floyd+dp %
算法
独自破碎E17 小时前
【总和拆分 + 双变量遍历】LCR_012_寻找数组的中心下标
数据结构·算法
WBluuue17 小时前
Codeforces 1076 Div3(ABCDEFG)
c++·算法
u01092727117 小时前
模板编译期排序算法
开发语言·c++·算法
测试者家园17 小时前
测试用例智能生成:是效率革命,还是“垃圾进,垃圾出”的新挑战?
人工智能·职场和发展·测试用例·测试策略·质量效能·智能化测试·用例设计