文章目录

  • 1、描述
  • 2、关键字
  • 3、思路
  • 4、notes
  • 5、复杂度
  • 6、code

1、描述

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

数字 1-9 在每一行只能出现一次。
数字 1-9 在每一列只能出现一次。
数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)
数独部分空格内已填入了数字,空白格用 ‘.’ 表示。

注意:

一个有效的数独(部分已被填充)不一定是可解的。
只需要根据以上规则,验证已经填入的数字是否有效即可

来源:力扣(LeetCode)
链接:
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2、关键字

数独

3、思路

使用数组给统计,然后遍历给定数组的时候,完成统计,并完成check,
如果出现的次数大于1,就直接返回false,

4、notes

1、就搞一个相对的数组,用来统计数量,统计列数,列数是一维,就生成2维的来统计。
2、一次遍历,初始化工作,和check工作搞在一起。

5、复杂度

时间:O(N)
空间,O(nm9)

6、code


class Solution {public:bool isValidSudoku(vector<vector<char>>& board) {int rows[9][9];int cols[9][9];int subs[3][3][9];memset(rows,0,sizeof(rows));memset(cols,0,sizeof(rows));memset(subs,0, sizeof(subs));for(int i = 0; i < 9; i++){for(int j = 0; j < 9; j++){char c = board[i][j];if(c != '.'){int ind = c - '0' - 1;rows[i][ind]++;cols[j][ind]++;subs[i/3][j/3][ind]++;if(rows[i][ind] > 1 || cols[j][ind] > 1 || subs[i/3][j/3][ind] > 1){return false;}}}}return true;}
};~~~

数独问题每行每列每3X3相关推荐

  1. 数独解法-变形数独(第二讲:数独基础方法(行唯一列唯一宫唯一唯余数))

    第二讲:数独基础方法(行唯一列唯一宫唯一唯余数) 相对来说,宫格少的数独越好观察,就比如5X5的就很适合初学者(幼儿园或者小学),因为相对来说观察量较小,而且能比较快的模拟出结果.初学者强烈建议从5X ...

  2. Matlab Mathematica 向量(行,列) 矩阵

    Matlab: 矩阵用方括号[]表示,元素之间用"," 或者 空格 隔开,行与行之间用分号";"隔开: mat = [1 2 3 4;4 5 6 7 ] 或者 ...

  3. matlab 行 列表示,Matlab Mathematica 向量(行,列) 矩阵

    Matlab: 矩阵用方括号[]表示,元素之间用"," 或者 空格 隔开,行与行之间用分号";"隔开: mat = [ 1 2 3 4; 4 5 6 7 ] 或 ...

  4. 2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转换、行转列)

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的内置函数 一.数学函数 1. 取整函数: round ...

  5. MySQL 学习笔记(16)— 子查询(单行单列、一行多列、多行多列、 ALL、ANY、SOME 运算符、EXISTS 操作符)

    1. 子查询概念 子查询是指嵌套在其他语句(SELECT . INSERT . UPDATE . DELETE 等)中的 SELECT 语句:子查询也称为内查询( inner query )或者嵌套查 ...

  6. 【合并单元格】纵向合并单元格之前对数组处理【针对饿了么element的table的span-method合并行或列的计算方法】

    <template><el-table :span-method="spanMethod"><el-table-column label=" ...

  7. Algs4-1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列)

    1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列). public  class Test {     public static void main(String[] arg ...

  8. sqlserver 行转列

    还写了一篇Linq 实现 DataTable 行转列有时间大家可以看一下 sqlserver把行转成列在我们编码中是经常遇到的我做一个小例子大家看一下 1 --创建一个表 2 create table ...

  9. hive中array嵌套map以及行转列的使用

    1. 数据源信息 {"student": {"name":"king","age":11,"sex" ...

最新文章

  1. Installing Oracle Database 18c Using RPM Packages
  2. java集成网站微信,微博,qq登录
  3. 初学python还是swift-请问零基础学习python 和swift哪个更好入门呢?
  4. 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志
  5. ICCV 2017 《Flow-Guided Feature Aggregation for Video Object Detection》论文笔记
  6. 解决yarn报错:Found incompatible module (yarn config set ignore-engines true)
  7. boost::reverse相关的测试程序
  8. 当随机不够随机:一个在线扑克游戏的教训
  9. java面试加分_不只是给面试加分 -- Java WeakReference的理解与使用
  10. 无人机、IoT 设备都有漏洞?专访以色列老牌安全公司 Check Point|拟合
  11. 当我不再依赖你的时候说说_不要依赖任何人说说 不要指望别人的经典话
  12. c++ 弧形面如何逆时针排序_环形导轨的滑座如何通过弧形段?
  13. android常见的面试题,Android常见笔试面试题
  14. SSRS 2012 高级图表类型 -- 气泡图与散点图
  15. 赫茨伯格的双因素理论
  16. 第1讲(数据库软件的配置与游戏数据库的搭建)
  17. 来自Google的围棋AlphaGo
  18. 社交类App如何防范黑产垃圾用户?
  19. CorelDRAW2023新增了哪些功能?
  20. 分治法实现寻找数组最大最小值

热门文章

  1. What is ReactOS
  2. 小米生态链布局遇阻,求快的小米却更慢了
  3. 网易游戏AI Lab 招聘CV日常实习生
  4. linux ccid驱动下载,ccid驱动支持
  5. 2015年11月27日 野外生存(一)刀
  6. 让妖梦酱抓狂塔防数值设计——概述之章
  7. JVM中的本地内存追踪NMT(Native Memory Tracking)
  8. 八位共阴数码管的工作方式
  9. 什么是点对点?什么去中心化?
  10. “去中心化”和“分布式”的区别