博客
关于我
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/

    你可能感兴趣的文章
    Objective-C实现multi level feedback queue多级反馈队列算法(附完整源码)
    查看>>
    Objective-C实现multilayer perceptron classifier多层感知器分类器算法(附完整源码)
    查看>>
    Objective-C实现multiplesThreeAndFive三或五倍数的算法 (附完整源码)
    查看>>
    Objective-C实现n body simulationn体模拟算法(附完整源码)
    查看>>
    Objective-C实现naive string search字符串搜索算法(附完整源码)
    查看>>
    Objective-C实现natural sort自然排序算法(附完整源码)
    查看>>
    Objective-C实现nested brackets嵌套括号算法(附完整源码)
    查看>>
    Objective-C实现nevilles method多项式插值算法(附完整源码)
    查看>>
    Objective-C实现newton raphson牛顿-拉夫森算法(附完整源码)
    查看>>
    Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
    查看>>
    Objective-C实现newton_forward_interpolation牛顿前插算法(附完整源码)
    查看>>
    Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
    查看>>
    Objective-C实现ngram语言模型算法(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现NMS非极大值抑制(附完整源码)
    查看>>
    Objective-C实现NMS非极大值抑制(附完整源码)
    查看>>
    Objective-C实现Node.Js中生成一个UUID/GUID算法(附完整源码)
    查看>>
    Objective-C实现not gate非门算法(附完整源码)
    查看>>
    Objective-C实现NQueen皇后问题算法(附完整源码)
    查看>>