当前位置: 首页 > news >正文

面试150 有效的数独

在这里插入图片描述

思路

我们需要通过建立三个哈希集合去记录每一行,每一列、以及该位置所属3x3小宫格内已出现的数字。遍历整个棋盘,如果当前不是空格,检查数字是否出现在第i行的rows[i]中或者第j列的cols[j]或者是3x3小格box[i//3][j//3],如果出现了,则说明不合法,直接返回False。如果是合法,将数字c讲到对应的集合中,方便后续判断。

class Solution:def isValidSudoku(self, board: List[List[str]]) -> bool:if not board:return Falsem=len(board)n=len(board[0])rows=[set() for _ in range(9)]cols=[set() for _ in range(9)]box=[[set() for _ in range(3)] for _ in range(3)]for i in range(m):for j in range(n):c=board[i][j]if board[i][j]!='.':if c in rows[i] or c in cols[j] or c in box[i//3][j//3]:return Falserows[i].add(c)cols[j].add(c)box[i//3][j//3].add(c)return True
http://www.lqws.cn/news/569107.html

相关文章:

  • 建造者模式 - Flutter中的乐高大师,优雅组装复杂UI组件!
  • TDengine 运维全攻略:五种备份与恢复方法深度解析(2025 最新版)
  • EPLAN Electric P8 2.9 零基础保姆级安装教程
  • 银行账户管理系统01
  • [Python] -基础篇3-掌握Python中的条件语句与循环
  • win上对调ctrl和alt键
  • java:如何用 JDBC 连接 TDSQL 数据库
  • HarmonyOS实战:自定义表情键盘
  • 云计算在布莱克-斯科尔斯模型中的应用:解析解、蒙特卡洛模拟与可视化-AI云计算数值分析和代码验证
  • FLOPS、FLOP/s、TOPS概念
  • Excel之证件照换底色3
  • Docker部署
  • 【Typst】纵向时间轴
  • 函数参数及数据结构说明
  • 一阶线性双曲型偏微分方程组的特征值与通解分析
  • ABP VNext + Twilio:全渠道通知服务(SMS/Email/WhatsApp)
  • RagFlow 更适合企业级深度应用,FastGPT 更适合快速开发和原型验证
  • 用户行为序列建模(篇十)-【加州大学圣地亚哥分校】SASRec
  • 对象的finalization机制Test
  • aws(学习笔记第四十八课) appsync-graphql-dynamodb
  • Java猜拳小游戏
  • 基于 SpringBoot 实现一个 JAVA 代理 HTTP / WS
  • node js入门,包含express,npm管理
  • SRS流媒体服务器之本地测试rtc推流bug
  • 2.安装Docker
  • 嵌入式硬件中电容的基本原理与详解
  • python动漫周边电商网站系统
  • ORB EPNP
  • web3区块链-ETH以太坊
  • es6特性-第二部分