有效的数独

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

  1. 数字 1-9 在每一行只能出现一次。
  2. 数字 1-9 在每一列只能出现一次。
  3. 数字 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] 是一位数字或者 '.'
from typing import List
class Solution:def isValidSudoku(self, board):""":type board: List[List[str]]:rtype: bool"""raw = [{},{},{},{},{},{},{},{},{}]col = [{},{},{},{},{},{},{},{},{}]cell = [{},{},{},{},{},{},{},{},{}]for i in range(9):for j in range(9):                                 num = (3*(i//3) + j//3)temp = board[i][j]if temp != ".":if temp not in raw[i] and temp not in col[j] and temp not in cell[num]:raw [i][temp] = 1col [j][temp] = 1cell [num][temp] =1else:return False    return True
# %%
s = Solution()
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"]]
print(s.isValidSudoku(board))

(每日一练python)有效的数独相关推荐

  1. (每日一练c++)CC113 数独

    描述 请编写一个程序,给数独中的剩余的空格填写上数字 空格用字符'.'表示 假设给定的数独只有唯一的解法 这盘数独的解法是: 红色表示填上的解 示例1 输入: [[.,.,9,7,4,8,.,.,.] ...

  2. (每日一练c++)解数独

    解数独 编写一个程序,通过填充空格来解决数独问题. 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 3x ...

  3. 【站内题解】十六道csdn每日一练Python题解

    文章目录 题目一: 游乐园的门票 1. 问题描述 2. 输入描述 3. 输出描述 4. 示例 4.1 输入 4.2 输出 5. 答案 5.1 解法一 5.2 解法二 题目二:小桥流水人家 1. 问题描 ...

  4. (每日一练python)组合总和

    组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限 ...

  5. 每日一练——Python基础(六)

    def func(*args):  统计方法.函数.Animal类对象的个数. class Animal:sum=0def __init__(self,sex):self.sex=sexAnimal. ...

  6. (每日一练python)地下城游戏

    地下城游戏 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主. ...

  7. (每日一练python)两数相除

    两数相除 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 整数 ...

  8. Python每日一练0023

    问题 如何判断一个文件是否存在 解决方案 这个问题可以分成几类问题 如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法 >>> import os > ...

  9. python题目关于企业利润_【每日一练】巧用python实现利润计算

    原标题:[每日一练]巧用python实现利润计算 相信很多小伙伴都遇到过阶梯利率的问题,比如说银行的利息计算,不同阶段的本金有不同的利率:税务的税费计算,不同的营收有不同的缴纳率:个人的提成,不同的销 ...

最新文章

  1. mt4 不显示服务器速度,mt4显示服务器时间设置
  2. opencv-dark channel -实现暗通道去雾详解
  3. 浅谈AJAX基本实现流程
  4. Unity5x编辑器的视图一
  5. Nagios监控之9:利用sendmail使用第三方SMTP服务发送邮件报警
  6. c# 访问hbase_C#教程之通过Thrift实现C#与Hbase交流
  7. 当我谈跑步时我谈些什么——村上春树
  8. JSON.stringify转换Date不正确的解決方法
  9. PostgreSQL\GPDB 多维数据透视典型案例分享
  10. 使用python开发windows应用程序
  11. Kafka.net使用编程入门
  12. Anylogic 创建一个简单的人口演变模型
  13. 如何接入易班第三方登录
  14. Ubuntu(20.04):设置DNS
  15. 【Python】详解pandas的isin索引和~反向索引
  16. 咨询博客园文章如何维权
  17. 苹果11微信表格服务器地址怎么填,苹果实用技巧:iPhone11手机微信打字怎么换行...
  18. 利用Python爬虫爬取斗鱼直播间信息,以及直播的实际人数!
  19. 开箱即用,这些 Vue3 后台管理系统模板绝对让你爽歪歪!
  20. MatrikonOPC与欧姆龙PLC以太网通讯

热门文章

  1. 计算机类英文参考文献,计算机英文参考文献.doc
  2. 第4阶段 Mysql数据库
  3. python 百分号调用内置函数_打牢Python基础这12类内置函数你掌握了吗
  4. 汽车遥控启动,车辆远程启动,汽车手机控制远程启动,都表示什么意思?如何使用?
  5. 程序员如何增加收入?
  6. 微信小程序关键字搜索
  7. Airbnb 2019年纽约住房情况分析报告
  8. 分析方法10---AARRR模型分析方法
  9. 在不损坏硬盘数据情况下,MBR格式转GPT格式,手动创建EFI和MSR分区,安装WIN10/WIN8.1...
  10. docker的使用及原理