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

    你可能感兴趣的文章
    PostgreSQL cube 插件 - 多维空间对象
    查看>>
    PostgreSQL Daily Maintenance - cluster table
    查看>>
    PostgreSQL on Linux 最佳部署手册
    查看>>
    PostgreSQL Oracle 兼容性之 - pipelined
    查看>>
    PostgreSQL Point-In-Time Recovery (Incremental Backup)
    查看>>
    postgresql Streaming Replication监控与注意事项
    查看>>
    postgresql 不需要付费_使用数据传输在PostgreSQL执行 外部连接运算符
    查看>>
    postgresql 主从配置_生产环境postgresql主从环境配置
    查看>>
    postgresql 函数&存储过程 ; 递归查询
    查看>>
    PostgreSQL 分组聚合查询中 filter 子句替换 case when
    查看>>
    PostgreSQL 同步流复制锁瓶颈分析
    查看>>
    PostgreSQL 备份与还原命令 pg_dump
    查看>>
    Postgresql 外部表插件postgres_fdw的安装和使用
    查看>>
    PostgreSQL 如何从崩溃状态恢复(上)
    查看>>
    PostgreSQL 存储过程基本语法
    查看>>
    PostgreSQL 实现批量更新、删除、插入
    查看>>
    PostgreSQL 导入 .gz 备份文件
    查看>>
    PostgreSQL 批量插入&更新数据时报错(ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time)
    查看>>
    PostgreSQL 新增数据返回自增ID
    查看>>
    postgresql 更新多列数据
    查看>>