文章目录

  • 题目描述
    • 题解思路:

题目描述

判断一个 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:有效的数独相关推荐

  1. 力扣每日一题2021-09-17有效的数独

    文章目录 36.有效的数独 题目描述 思路:遍历 36.有效的数独 题目描述 有效的数独 思路:遍历 class Solution:def isValidSudoku(self, board: Lis ...

  2. Leetcode每日一题:37.sudoku-solver(解数独)

    得用到DFS,一条路走到黑: 做这道题得时候一直在想 如何在line / 9 == 1的时候直接返回呢 开始准备用goto 后来改变主意设一个flag就行了 bool flag = false; bo ...

  3. 每日一题——有效的数独

    菜鸡每日一题系列打卡36天 每天一道算法题目 小伙伴们一起留言打卡 坚持就是胜利,我们一起努力! 题目描述(引自LeetCode) 判断一个9x9的数独是否有效.只需要根据以下规则,验证已经填入的数字 ...

  4. android+studio数独小游戏,‎App Store 上的“益智数独-每日一题挑战题,锻炼你的大脑”...

    2021年,数以百万计的人在玩数独游戏了,他们通过数独游戏不断训练自己的大脑,2022年,通过数独游戏来训练自己大脑的人可能达破千万人次,你准备好了吗? 这是一款免费的数独游戏,里面包含多个难度级别, ...

  5. [每日一题]0:每日一题汇总

    每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++.以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交 ...

  6. 每日LeetCode一道题————有效的数独

    每日一题 题目描述 36.有效的数独 请你判断一个 9x9 的数独是否有效.只需要 根据以下规则 ,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出 ...

  7. 老男孩每日一题(一)

    老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file-.already exists以下错误如何解决? 第122天 2 ...

  8. 力扣每日一题每天自动邮件提醒

    A.需求来源与分析 需求来源于生活,对于只是偶尔有兴趣做做题的我,力扣的每日一题对我一直有以下的不便: 太简单不想做,需要花太多时间的不想做,每天打开力扣其实只是想看一下是什么题,有意思才做. 看题需 ...

  9. 计算机考研王道每日一题2021版

    王道每日一题 21考研 这是2021年 王道公众号 推送的每日一题(非统考408题目而是自主命题) 每日一题中包括数据结构.计算机组成原理.计算机网络.操作系统 每天题目答案与解析在第二天题目后面 为 ...

最新文章

  1. python内置库之学习ctypes库(二)
  2. eureka的惊群效应
  3. 0-1背包 java_0-1背包问题,java的动态规划如题,代码如下public
  4. 专门给大学做宣传视频的公司,一直干了16年,服务110多大学: 专业的力量
  5. 支付宝 .NET SDK 报错:RSA签名遭遇异常,请检查私钥格式是否正确。
  6. oracle创建多个游标,Oracle——游标的创建和使用
  7. Apache james 2.3.2.1启动失败换成2.3.2版本就好
  8. 把WebForm移植到.Net MVC中
  9. mysql端口隐藏_修改MySQL端口以及出现的问题
  10. 在Vs2013下编译FreeCAD0.17源码
  11. 基于EasyDarwin云平台实现的EasyClient客户端与EasyCamera摄像机之间的对讲与云台控制功能
  12. Android之路——第一个上线 APP项目总结
  13. Python Playwright 打包报错 Please run the following command to download new browsers
  14. SDCC 2016讲师、知名JavaScript专家周爱民议题公布:有前端思想的物联网系统架构...
  15. VsCode经典实用常用插件分享
  16. 【Lilishop商城】No4-1.业务逻辑的代码开发,涉及到:会员B端第三方登录使用及后端接口(微信、QQ等)
  17. 解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找
  18. “微课”让高中信息技术课堂“翻转”出高效率
  19. log4j(一)——什么是Log4j以及Log4j的体系结构
  20. 实现一个小程序,把txt文件里面的十六进制数据读取出来,转成bin文件

热门文章

  1. APP开发后的维护和升级你知道多少?
  2. comment on的意义
  3. kali与Windows10双系统
  4. jQuery 3D文字特效
  5. 影响AFE采样精度的因素有哪些?
  6. 今天不拉扯了 不拉扯了 碎碎念 上
  7. android tab切换菜单内容分页,8月23号   Tab菜单页面切换和jsp分页查询
  8. DQN(Deep Q-Learning)
  9. SpringBoot:大连埃森哲java招聘信息
  10. 基于知识图谱的人机对话系统 | 公开课笔记