当前位置: 首页 > article >正文

计算机低能儿从0刷leetcode | 36.有效的数独

题目:36. 有效的数独

思路:

1、我们分别建立三张9*9的表row、col、block。

row[i][num]代表数独表的第i行中,数字num+1出现的次数(因为num的范围是0-8,而代表的数字是1-9);col[j][num]代表数独表第j列中,数字num+1出现的次数;block[k][num]代表数独表第k个块中,数字num+1出现的次数。

2、接下来我们只需要遍历一次数独表,判断row[i][num]、col[j][num]和block[k][num]是否会超过1,是则代表不是有效数独,如果都没有超过1则是有效的数独。

代码:

class Solution {
public:
    bool isValidSudoku(vector<vector<char>>& board) {
        int row[9][9],col[9][9],block[9][9];
        for(int i=0;i<9;i++){
            for(int j=0;j<9;j++){
                if(board[i][j]=='.') continue;
                int k=(j/3)+(i/3)*3;
                char x = board[i][j];
                int num = x-'0'-1;

                if(row[i][num]==1) return false;
                else row[i][num]++;

                if(col[j][num]==1) return false;
                else col[j][num]++;

                if(block[k][num]==1) return false;
                else block[k][num]++;
            }
        }return true;
    }
};


http://www.kler.cn/a/391758.html

相关文章:

  • vivo 游戏中心包体积优化方案与实践
  • HarmonyOS SDK下的实践与探索
  • MySQL Workbench导入数据比mysql命令行慢
  • 万字长文解读深度学习——ViT、ViLT、DiT
  • 10款翻译工具实践体验感受与解析!!!!!
  • Unity3D 包体裁剪与优化详解
  • 【数学二】线性代数-向量-正交规范化、正交矩阵
  • 一篇文章学会ES6 Promise
  • 8 ARM-PEG-FA由八个臂状结构的聚乙二醇(PEG)核心与叶酸(FA)分子通过化学连接而成
  • 什么是大数据治理?在企业数字化转型过程中有什么用?
  • PostgreSQL存储过程-pgAdmin
  • 命令行工具进阶指南
  • 【 AI写作鹅-注册安全分析报告-无验证方式导致安全隐患】
  • Flutter下拉刷新上拉加载的简单实现方式二
  • Lucene 和 Elasticsearch 中更好的二进制量化 (BBQ)
  • 【网络安全 | 甲方建设】DDOS 防范教程
  • 用AI绘画一周赚1W?怎么用AI绘画赚钱!
  • 数据驱动的投资分析:民锋科技的量化模型探索
  • WPF中MVVM工具包 CommunityToolkit.Mvvm
  • IOT物联网低代码可视化大屏解决方案汇总
  • 推荐一个Star超过2K的.Net轻量级的CMS开源项目
  • 语义通信论文略读(十二)图像知识库+styleGAN
  • C# 软件测试
  • vue写后台管理系统,有个需求将所有的$message消息提示换成确认框来增强消息提示效果,遇到嵌套过多的情况,出现某些问题
  • Seata源码笔记(三)
  • Spring Boot编程训练系统:架构设计与实现技巧