数独问题每行每列每3X3
文章目录
- 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相关推荐
- 数独解法-变形数独(第二讲:数独基础方法(行唯一列唯一宫唯一唯余数))
第二讲:数独基础方法(行唯一列唯一宫唯一唯余数) 相对来说,宫格少的数独越好观察,就比如5X5的就很适合初学者(幼儿园或者小学),因为相对来说观察量较小,而且能比较快的模拟出结果.初学者强烈建议从5X ...
- Matlab Mathematica 向量(行,列) 矩阵
Matlab: 矩阵用方括号[]表示,元素之间用"," 或者 空格 隔开,行与行之间用分号";"隔开: mat = [1 2 3 4;4 5 6 7 ] 或者 ...
- matlab 行 列表示,Matlab Mathematica 向量(行,列) 矩阵
Matlab: 矩阵用方括号[]表示,元素之间用"," 或者 空格 隔开,行与行之间用分号";"隔开: mat = [ 1 2 3 4; 4 5 6 7 ] 或 ...
- 2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转换、行转列)
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的内置函数 一.数学函数 1. 取整函数: round ...
- MySQL 学习笔记(16)— 子查询(单行单列、一行多列、多行多列、 ALL、ANY、SOME 运算符、EXISTS 操作符)
1. 子查询概念 子查询是指嵌套在其他语句(SELECT . INSERT . UPDATE . DELETE 等)中的 SELECT 语句:子查询也称为内查询( inner query )或者嵌套查 ...
- 【合并单元格】纵向合并单元格之前对数组处理【针对饿了么element的table的span-method合并行或列的计算方法】
<template><el-table :span-method="spanMethod"><el-table-column label=" ...
- Algs4-1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列)
1.1.13编写一段代码,打印出一个M行N列的二维数组的转置(交换行和列). public class Test { public static void main(String[] arg ...
- sqlserver 行转列
还写了一篇Linq 实现 DataTable 行转列有时间大家可以看一下 sqlserver把行转成列在我们编码中是经常遇到的我做一个小例子大家看一下 1 --创建一个表 2 create table ...
- hive中array嵌套map以及行转列的使用
1. 数据源信息 {"student": {"name":"king","age":11,"sex" ...
最新文章
- Installing Oracle Database 18c Using RPM Packages
- java集成网站微信,微博,qq登录
- 初学python还是swift-请问零基础学习python 和swift哪个更好入门呢?
- 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志
- ICCV 2017 《Flow-Guided Feature Aggregation for Video Object Detection》论文笔记
- 解决yarn报错:Found incompatible module (yarn config set ignore-engines true)
- boost::reverse相关的测试程序
- 当随机不够随机:一个在线扑克游戏的教训
- java面试加分_不只是给面试加分 -- Java WeakReference的理解与使用
- 无人机、IoT 设备都有漏洞?专访以色列老牌安全公司 Check Point|拟合
- 当我不再依赖你的时候说说_不要依赖任何人说说 不要指望别人的经典话
- c++ 弧形面如何逆时针排序_环形导轨的滑座如何通过弧形段?
- android常见的面试题,Android常见笔试面试题
- SSRS 2012 高级图表类型 -- 气泡图与散点图
- 赫茨伯格的双因素理论
- 第1讲(数据库软件的配置与游戏数据库的搭建)
- 来自Google的围棋AlphaGo
- 社交类App如何防范黑产垃圾用户?
- CorelDRAW2023新增了哪些功能?
- 分治法实现寻找数组最大最小值