(每日一练python)有效的数独
有效的数独
请你判断一个 9x9
的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。
- 数字
1-9
在每一行只能出现一次。 - 数字
1-9
在每一列只能出现一次。 - 数字
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)有效的数独相关推荐
- (每日一练c++)CC113 数独
描述 请编写一个程序,给数独中的剩余的空格填写上数字 空格用字符'.'表示 假设给定的数独只有唯一的解法 这盘数独的解法是: 红色表示填上的解 示例1 输入: [[.,.,9,7,4,8,.,.,.] ...
- (每日一练c++)解数独
解数独 编写一个程序,通过填充空格来解决数独问题. 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 3x ...
- 【站内题解】十六道csdn每日一练Python题解
文章目录 题目一: 游乐园的门票 1. 问题描述 2. 输入描述 3. 输出描述 4. 示例 4.1 输入 4.2 输出 5. 答案 5.1 解法一 5.2 解法二 题目二:小桥流水人家 1. 问题描 ...
- (每日一练python)组合总和
组合总和 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限 ...
- 每日一练——Python基础(六)
def func(*args): 统计方法.函数.Animal类对象的个数. class Animal:sum=0def __init__(self,sex):self.sex=sexAnimal. ...
- (每日一练python)地下城游戏
地下城游戏 一些恶魔抓住了公主(P)并将她关在了地下城的右下角.地下城是由 M x N 个房间组成的二维网格.我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主. ...
- (每日一练python)两数相除
两数相除 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 整数 ...
- Python每日一练0023
问题 如何判断一个文件是否存在 解决方案 这个问题可以分成几类问题 如果这里的文件指的是文件或目录,我们可以用os.path.exists()方法 >>> import os > ...
- python题目关于企业利润_【每日一练】巧用python实现利润计算
原标题:[每日一练]巧用python实现利润计算 相信很多小伙伴都遇到过阶梯利率的问题,比如说银行的利息计算,不同阶段的本金有不同的利率:税务的税费计算,不同的营收有不同的缴纳率:个人的提成,不同的销 ...
最新文章
- mt4 不显示服务器速度,mt4显示服务器时间设置
- opencv-dark channel -实现暗通道去雾详解
- 浅谈AJAX基本实现流程
- Unity5x编辑器的视图一
- Nagios监控之9:利用sendmail使用第三方SMTP服务发送邮件报警
- c# 访问hbase_C#教程之通过Thrift实现C#与Hbase交流
- 当我谈跑步时我谈些什么——村上春树
- JSON.stringify转换Date不正确的解決方法
- PostgreSQL\GPDB 多维数据透视典型案例分享
- 使用python开发windows应用程序
- Kafka.net使用编程入门
- Anylogic 创建一个简单的人口演变模型
- 如何接入易班第三方登录
- Ubuntu(20.04):设置DNS
- 【Python】详解pandas的isin索引和~反向索引
- 咨询博客园文章如何维权
- 苹果11微信表格服务器地址怎么填,苹果实用技巧:iPhone11手机微信打字怎么换行...
- 利用Python爬虫爬取斗鱼直播间信息,以及直播的实际人数!
- 开箱即用,这些 Vue3 后台管理系统模板绝对让你爽歪歪!
- MatrikonOPC与欧姆龙PLC以太网通讯
热门文章
- 计算机类英文参考文献,计算机英文参考文献.doc
- 第4阶段 Mysql数据库
- python 百分号调用内置函数_打牢Python基础这12类内置函数你掌握了吗
- 汽车遥控启动,车辆远程启动,汽车手机控制远程启动,都表示什么意思?如何使用?
- 程序员如何增加收入?
- 微信小程序关键字搜索
- Airbnb 2019年纽约住房情况分析报告
- 分析方法10---AARRR模型分析方法
- 在不损坏硬盘数据情况下,MBR格式转GPT格式,手动创建EFI和MSR分区,安装WIN10/WIN8.1...
- docker的使用及原理