题目

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

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

注意:

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

示例 1:

输入:board =
[[“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:

输入:board =
[[“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 存在, 因此这个数独是无效的。

提示:

board.length == 9

board[i].length == 9

board[i][j] 是一位数字或者 ‘.’

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-sudoku

暴力解法, 题解来源于评论区,链接在代码下方

bool isValidSudoku(char** board, int boardSize, int* boardColSize)
{for (int i = 0; i < boardSize; i++)//行数{for (int j = 0; j < *boardColSize; j++)//列数{if (board[i][j] != '.'){for (int k = 0; k < *boardColSize; k++){if (j != k && board[i][j] == board[i][k])//查找每一行的情况    return false;}for (int k = 0; k < boardSize; k++){if (i != k && board[i][j] == board[k][j])//查找每一列的情况{return false;}}//查找每个子块int x = i / 3 * 3;//每个字块中的x开端int y = j / 3 * 3;for (int m = 0; m < 3; m++){for (int n = 0; n < 3; n++){if (x + m != i && y + n != j && board[x + m][y + n] == board[i][j])//**return false;}}}}}return true;
}作者:qsu-tong-v
链接:https://leetcode-cn.com/problems/valid-sudoku/solution/chun-cjian-dan-bao-li-wu-tao-lu-by-qsu-t-hecp/
来源:力扣(LeetCode)

习题:有效的数独(C语言)相关推荐

  1. c语言程序设计课后答案西电,C语言程序设计习题大全(含答案)C语言-.doc

    C语言程序设计习题大全(含答案)C语言-.doc C语言基础?一: 1.下列四组选?项中,均不是C语?言关健字的?选项是( A ). A) defin?e B) gect C) inclu?de D) ...

  2. 笔记14 笨办法中折磨人的习题ex23.py,人类语言与计算机语言

    笔记14 笨办法中折磨人的习题ex23.py,人类语言与计算机语言 开始学习习题23了,但为了那个languages.text的下载,费了老大劲好像还是没有下载全.后来载下来了,那个代码文件录下来,却 ...

  3. c语言编程:vc++6.0入门教程及习题_百度文库,C语言编程:vc++6.0入门教程及习题.doc...

    C语言编程:vc++6.0入门教程及习题.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址 ...

  4. c语言程序设计基础课后习题答案,2011级C语言程序设计基础教程课后习题答案

    1.C 语言课后习题习题答案详解(11 级教材)第 1 章1.1 填空题1.1.1 应用程序 ONEFUNC.C 中只有一个函数,这个函数的名称是 _main .1.1.2 一个函数由_函数头 _和_ ...

  5. python展开 c函数中的宏预处理_最基本的宏函数 课后习题9.2 (C语言代码)

    解题思路 利用宏函数. 函数. 本题的难点肯定不在算法, 应该是宏函数! 带参宏定义的一般形式为:#define 宏名(形参表) 字符串; 在字符串中含有各个形参. 带参宏调用的一般形式为: #def ...

  6. 带你刷笔试关的小怪|详解指针习题和面试题【C语言/指针/进阶】

    文章目录 前言 9. 指针和数组笔试题解析 复习回顾 一维数组 字符数组 二维数组 10. 指针笔试题 笔试题1: 笔试题2 笔试题3 笔试题4 笔试题5 笔试题6 笔试题7 (#)笔试题8 结语 前 ...

  7. 数据结构c语言描述的习题答案,《数据结构 - C语言描述》习题及答案 耿国华-...

    第五章 数组和广义表 习 题 1. 假设有6行8列的二维数组A,每个元素占用6个字节,存储器按字节编址.已知A的基地址为1000,计算: (1) 数组A共占用多少字节: (288) (2) 数组A的最 ...

  8. c语言以正确定义字符变量ch1,【课外习题】二、 C语言程序设计的初步知识

    一.选择题 1.在C 语言中,下列类型属于构造类型的是 . A)整型 B)字符型 C)实型 D)数组类型 2.在C 语言中,下列类型属于构造类型的是 . A)空类型 B)字符型 C)实型 D)共用体类 ...

  9. c程序设计语言_习题8-4_重新实现c语言的库函数fseek(FILE*fp,longoffset,intorigin)

      fseek库函数 #include <stdio.h> int fseek(FILE *stream, long int offset, int origin); 返回:成功为0,出错 ...

  10. 九宫格数独c语言编程,求用C语言编一个解九宫格数独的程序

    满意答案 emhw637617 2013.12.30 采纳率:59%    等级:12 已帮助:5603人 前两天刚写完,还没优化,已运行通过了. 晕,一维的好麻烦,这个也是碰巧前两天刚写好的,你看着 ...

最新文章

  1. RDKit | 基于scikit-learn将pytorch用于QSAR模型构建
  2. makefile多目录多文件
  3. 网站seo优化相关性需要了解哪三方面内容?
  4. Axure RP使用攻略--入门级(五)系统函数与变量
  5. Latex 数学公式使用入门
  6. libevent源码学习-----统一事件源及信号绑定函数
  7. java 圆的交点_java – 获取线条和形状的交点
  8. string类的erase函数属于stl吗_探索STL容器:vector
  9. 3007基于二叉链表的二叉树叶子结点到根结点的路径的求解(附DFS在树里的应用分析,思路详解)
  10. Java定时器每小时执行一次
  11. 二、Python自动化运维入门(函数、模块)
  12. 串口调试工具(Python2.7+pyserial+Tkinter)
  13. java socket第三方库_Java基于Socket实现HTTP下载客户端
  14. 上海财经应用统计考python_2021年上海财经大学应用统计硕士考研必看成功上岸前辈复习经验分享...
  15. BUUCTF笔记之Misc系列部分WriteUp(一)
  16. VIM教程与学习资料汇总(转载自善用佳软)
  17. 如何转换成Ogg和MPEG4格式
  18. ugui 转轮_Unity3D的FingerGesture插件
  19. 虚拟机复制镜像操作方法
  20. 多个视频如何合成一个视频?

热门文章

  1. HCIP | 华为防火墙配置
  2. Kafka系列(七)、Kafka套件 Confluent Platform 单机/集群部署
  3. k8s部署kafka集群
  4. (休息几天)读米什金之货币银行学——GDP
  5. UG NX 12 拟合曲面
  6. 【知识学习】C# List<T>取并集并去重的两种方法时间消耗比较
  7. 通用场景语音合成数据集推荐
  8. 企业办公用什么邮箱品牌,哪家邮箱最适合?
  9. 机器学习生物医学图像处理方向研究前景如何?
  10. Us biological——生物试剂盒适用于科学应用和环境