博客
关于我
Leetcode 36. 有效的数独
阅读量:244 次
发布时间:2019-03-01

本文共 634 字,大约阅读时间需要 2 分钟。

数独是一种经典的逻辑题目,它的规则非常简单明确:一个9x9的网格中,每一行、每一列以及每个3x3的小宫格都必须包含数字1到9,且每个数字只能出现一次。给定的数独可能已经部分填充了数字,剩下的单元格用点号表示。我们的任务是编写一个函数,判断给定的数独是否有效。

为了验证数独的有效性,我们需要对每一行、每一列以及每个3x3的小宫格进行检查,确保它们都满足不重复的条件。具体步骤如下:

  • 初始化标记数组:创建一个大小为10的数组used,用于记录数字1到9是否已经在当前检查范围内出现过。used[0]可以忽略,因为数字从1到9对应索引1到9。

  • 检查每一行:遍历数独的每一行,检查该行的每个单元格。如果单元格包含数字,判断该数字是否已经被使用过。如果已经被使用过,返回false。否则,将该数字标记为已使用。

  • 检查每一列:同样地,遍历数独的每一列,检查每个单元格的数字是否已重复。使用与行检查相同的标记数组进行判断。

  • 检查每个3x3的小宫格:将数独的网格分为9个3x3的小宫格。例如,第一个小宫格包括第1到3行和第1到3列,第二个小宫格包括第1到3行和第4到6列,依此类推。对于每个小宫格,同样检查每个单元格的数字是否已重复。

  • 在整个检查过程中,一旦发现任何一个数字在同一行、同一列或同一小宫格中重复出现,立即返回false,否则所有检查完成后返回true。

    通过这种方法,我们可以有效地验证一个数独是否满足所有规则,确保每一行、每一列和每个小宫格都包含1到9不重复的数字。

    转载地址:http://nghv.baihongyu.com/

    你可能感兴趣的文章
    Python Pypi 修改 国内源(以豆瓣源为例)
    查看>>
    Python PyQt5 将不再显示此消息复选框添加到 QMessageBox
    查看>>
    Python PyQt5:如何使用 PyQt5 显示错误消息
    查看>>
    Python PYSFTP-以字符串/文本形式传递私钥,而不是传递文件路径
    查看>>
    Python pytest 面试题!
    查看>>
    Python pytz 时区函数返回一个相差 9 分钟的时区
    查看>>
    python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
    查看>>
    Python random和json模块
    查看>>
    Python random模块seed理解
    查看>>
    python range()函数
    查看>>
    Python rdflib可传递查询
    查看>>
    Redis 配置高可用和搭建集群
    查看>>
    python redis 集群_python 搭建redis集群
    查看>>
    python redis连接,在Python中使用Redis连接池的正确方法
    查看>>
    python regex_Python RegEx
    查看>>
    python requests post 中文结果请求得到unicode
    查看>>
    Python Requests接口自动化测试实战
    查看>>
    Python requests模块
    查看>>
    python request与grequests该如何选择
    查看>>
    python request模块
    查看>>