判断数独是否有唯一解_leetcode一共多少题

判断数独是否有唯一解_leetcode一共多少题

周天周天周天,xdm,本周也是这个月最后一天啦,明今晚上大家是不是得清空一波购物车呀!白天先来学习一波吧,疫情依旧反复,大家带好口罩啊~ 继续继续,来,今天和车神哥一起来提升自己的Python编程和面试能力吧,刷天梯~

以下为我的天梯积分规则

每日至少一题:一题积分+10分
若多做了一题(或多一种方法解答),则当日积分+20分(+10+10)
若做了三道以上,则从第三题开始算+20分(如:做了三道题则积分-10+10+20=40;做了四道题则积分–10+10+20+20=60


初始分为100分
若差一天没做题,则扣积分-10分(周六、周日除外注:休息
坚持!!!


初级算法

刷题目录

数组

在这里插入图片描述

题干

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

  1. 数字 1-9 在每一行只能出现一次
  2. 数字 1-9 在每一列只能出现一次。
  3. 数字 1-9 在每一个以粗实线分隔的 3×3 宫内只能出现一次。(请参考示例图)

数独部分空格内已填入了数字,空白格用 ‘.’ 表示。

注意:

  • 一个有效的数独(部分已被填充)不一定是可解的。
  • 只需要根据以上规则,验证已经填入的数字是否有效即可。

示例1

在这里插入图片描述
在这里插入图片描述
示例2
在这里插入图片描述


直接判断法

分析:

我们需要查找再某行或某列及其3*3的宫内有无相同的数字,如果满足条件,则返回true;相反,则返回false.
本题难度中等

class Solution: def isValidSudoku(self, board: List[List[str]]) -> bool: res = True # 默认输出True # 判断行 for i in range(len(board)): dotCount = board[i].count('.') # 得到每一行中“.”的个数 rightCount = len(board[i]) - dotCount + 1 # 得到每一行中真实数字的数 judgeCount = len(set(board[i])) # 得到集合每一行的素个数,由于set()会直接将多余的或者说相同的数,记为一个数,如:6,6,4,6,3. 输出得到的长度为3,而不是5,意思三个6,只保留一个6;且会从小到大,排序 if rightCount != judgeCount: # 判断两者的长度是否一直,若不一直则赋值FALSE res = False # 判断列 for i in range(len(board[0])): l = [] # 设置空数组存储 for j in range(len(board)): l.append(board[j][i]) # 将每列素存入临时数组中 dotCount = l.count('.') # 计算“.”的个数 rightCount = len(board[0]) - dotCount + 1 # 得到每一列中数字的个数 judgeCount = len(set(l)) # 得到集合l的长度 if rightCount != judgeCount: res = False # 判断3*3宫内是否重复 for i in range(0, len(board), 3): for j in range(0, len(board[0]), 3): m = [] for k in range(i, i+3): for z in range(j, j+3): m.append(board[k][z]) dotCount = m.count('.') rightCount = len(m) - dotCount + 1 judgeCount = len(set(m)) if rightCount != judgeCount: res = False return res 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

确实有些难度,慢慢来~

References

作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x2jrse/
来源:力扣(LeetCode)


今日得分:+10
总得分:320

加油!!!

❤坚持读Paper,坚持做笔记,坚持学习,坚持刷力扣LeetCode❤!!!
坚持刷题!!!打天梯!!!
To Be No.1

⚡⚡


创作不易⚡,过路能❤关注收藏点个赞三连就最好不过了

ღ( ´・ᴗ・` )


你现在的气质里,藏着你走过的路,读过的书和爱过的人。

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/151195.html

(0)
上一篇 2024年 6月 28日 上午10:02
下一篇 2024年 6月 28日 上午10:06

相关推荐

关注微信