[每日一题]113:有效的数独
文章目录
- 题目描述
- 题解思路:
题目描述
判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。
数字 1-9 在每一行只能出现一次。
数字 1-9 在每一列只能出现一次。
数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。
上图是一个部分填充的有效的数独。
数独部分空格内已填入了数字,空白格用 ‘.’ 表示。
示例 1:
输入:
[["5","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]
]
输出: true
示例 2:
输入:
[["8","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],[".","9","8",".",".",".",".","6","."],["8",".",".",".","6",".",".",".","3"],["4",".",".","8",".","3",".",".","1"],["7",".",".",".","2",".",".",".","6"],[".","6",".",".",".",".","2","8","."],[".",".",".","4","1","9",".",".","5"],[".",".",".",".","8",".",".","7","9"]
]
输出: false
解释: 除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。
题解思路:
复杂度分析:
- 时间复杂度: O ( n ) O(n) O(n) ------ 遍历一遍二维数组
- 空间复杂度: O ( n ) O(n) O(n) ------ 创建3个相同大小的二维数组。
代码实现:
class Solution {public:bool isValidSudoku(vector<vector<char>>& board) {int row[9][9] = { 0 };int col[9][9] = { 0 };int box[9][9] = { 0 };for (int i = 0; i < board.size(); ++i) {for (int j = 0; j < board[0].size(); ++j) {if (board[i][j] == '.') continue;int n = board[i][j] - '1';if (row[i][n] || col[j][n] || box[(i/3) * 3 + j/3][n]) return false;row[i][n] = 1;col[j][n] = 1;box[(i/3) * 3 + j/3][n] = 1;}}return true;}
};
[每日一题]113:有效的数独相关推荐
- 力扣每日一题2021-09-17有效的数独
文章目录 36.有效的数独 题目描述 思路:遍历 36.有效的数独 题目描述 有效的数独 思路:遍历 class Solution:def isValidSudoku(self, board: Lis ...
- Leetcode每日一题:37.sudoku-solver(解数独)
得用到DFS,一条路走到黑: 做这道题得时候一直在想 如何在line / 9 == 1的时候直接返回呢 开始准备用goto 后来改变主意设一个flag就行了 bool flag = false; bo ...
- 每日一题——有效的数独
菜鸡每日一题系列打卡36天 每天一道算法题目 小伙伴们一起留言打卡 坚持就是胜利,我们一起努力! 题目描述(引自LeetCode) 判断一个9x9的数独是否有效.只需要根据以下规则,验证已经填入的数字 ...
- android+studio数独小游戏,App Store 上的“益智数独-每日一题挑战题,锻炼你的大脑”...
2021年,数以百万计的人在玩数独游戏了,他们通过数独游戏不断训练自己的大脑,2022年,通过数独游戏来训练自己大脑的人可能达破千万人次,你准备好了吗? 这是一款免费的数独游戏,里面包含多个难度级别, ...
- [每日一题]0:每日一题汇总
每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++.以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交 ...
- 每日LeetCode一道题————有效的数独
每日一题 题目描述 36.有效的数独 请你判断一个 9x9 的数独是否有效.只需要 根据以下规则 ,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出 ...
- 老男孩每日一题(一)
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file-.already exists以下错误如何解决? 第122天 2 ...
- 力扣每日一题每天自动邮件提醒
A.需求来源与分析 需求来源于生活,对于只是偶尔有兴趣做做题的我,力扣的每日一题对我一直有以下的不便: 太简单不想做,需要花太多时间的不想做,每天打开力扣其实只是想看一下是什么题,有意思才做. 看题需 ...
- 计算机考研王道每日一题2021版
王道每日一题 21考研 这是2021年 王道公众号 推送的每日一题(非统考408题目而是自主命题) 每日一题中包括数据结构.计算机组成原理.计算机网络.操作系统 每天题目答案与解析在第二天题目后面 为 ...
最新文章
- python内置库之学习ctypes库(二)
- eureka的惊群效应
- 0-1背包 java_0-1背包问题,java的动态规划如题,代码如下public
- 专门给大学做宣传视频的公司,一直干了16年,服务110多大学: 专业的力量
- 支付宝 .NET SDK 报错:RSA签名遭遇异常,请检查私钥格式是否正确。
- oracle创建多个游标,Oracle——游标的创建和使用
- Apache james 2.3.2.1启动失败换成2.3.2版本就好
- 把WebForm移植到.Net MVC中
- mysql端口隐藏_修改MySQL端口以及出现的问题
- 在Vs2013下编译FreeCAD0.17源码
- 基于EasyDarwin云平台实现的EasyClient客户端与EasyCamera摄像机之间的对讲与云台控制功能
- Android之路——第一个上线 APP项目总结
- Python Playwright 打包报错 Please run the following command to download new browsers
- SDCC 2016讲师、知名JavaScript专家周爱民议题公布:有前端思想的物联网系统架构...
- VsCode经典实用常用插件分享
- 【Lilishop商城】No4-1.业务逻辑的代码开发,涉及到:会员B端第三方登录使用及后端接口(微信、QQ等)
- 解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找
- “微课”让高中信息技术课堂“翻转”出高效率
- log4j(一)——什么是Log4j以及Log4j的体系结构
- 实现一个小程序,把txt文件里面的十六进制数据读取出来,转成bin文件