力扣—— 36. 有效的数独/37. 解数独
目录
- 有效的数独
- 解数独
有效的数独
class Solution10(object):def isValidSudoku(self, board):""":type board: List[List[str]]:rtype: bool"""rows={}columns= {}blocks= {}for i in range(9):rows[i]=[]columns[i]=[]blocks[i]=[]for i in range(9):for j in range(9):if board[i][j]=='.':passelse:rows[i].append(board[i][j])columns[j].append(board[i][j])blocks[i//3*3+j//3].append(board[i][j])for a in rows,columns,blocks:for _,b in a.items():if len(b)!=len(set(b)):return Falsereturn True
解数独
class Solution(object):def backtrack(self,board):for i in range(len(board)): #遍历行for j in range(len(board[0])): #遍历列if board[i][j] != ".": continuefor k in range(1,10): #(i, j) 这个位置放k是否合适if self.isValid(i,j,k,board):board[i][j] = str(k) #放置kif self.backtrack(board): return True #如果找到合适一组立刻返回board[i][j] = "." #回溯,撤销kreturn False #9个数都试完了,都不行,那么就返回falseprint(board)return True #遍历完没有返回false,说明找到了合适棋盘位置了def isValid(self,row,col,val,board):for i in range(9): #判断行里是否重复if board[row][i] == str(val):return Falsefor j in range(9): #判断列里是否重复if board[j][col] == str(val):return FalsestartRow = (row // 3) * 3startcol = (col // 3) * 3for i in range(startRow,startRow + 3): #判断9方格里是否重复for j in range(startcol,startcol + 3):if board[i][j] == str(val):return Falsereturn True
力扣—— 36. 有效的数独/37. 解数独相关推荐
- LeetCode 36有效的数独37解数独(八皇后问题)
公众号:bigsai 回复进群加入打卡 有效的数独 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列 ...
- LeetCode高频题37. 解数独
LeetCode高频题37. 解数独 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们在公司养了一大批ACM竞赛的 ...
- Java实现 LeetCode 37 解数独
37. 解数独 编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实 ...
- 代码随想录算法训练营第30天 | 51. N皇后 37.解数独 332.重新安排行程 回溯篇小结
代码随想录系列文章目录 回溯篇 - 棋盘问题 图的dfs 文章目录 代码随想录系列文章目录 51.N皇后 37.解数独 332.重新安排行程 回溯篇小结 51.N皇后 题目链接 这道题的思路是什么样的 ...
- 代码随想录刷题|LeetCode 332.重新安排行程 51. N皇后 37. 解数独
目录 332.重新安排行程 思路 重新安排行程 51. N皇后 思路 N皇后 37. 解数独 思路 解数独 这三道题目都是困难题目,都是根据代码随想录的思路总结书写,慢慢理解,慢慢熟练 ...
- 算法训练day24 | php | 332.重新安排行程 , 51. N皇后 , 37. 解数独 ,总结
一.力扣题332. 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] = [fromi, toi] 表示飞机出发和降落的机场地点.请你对该行程进行重新规划排序. 所有这些机 ...
- LeetCode—37. 解数独(困难)
37. 解数独(困难) 题目描述: 编写一个程序,通过填充空格来解决数独问题. 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 ...
- Leetcode算法Java全解答--37. 解数独
Leetcode算法Java全解答–37. 解数独 文章目录 Leetcode算法Java全解答--37. 解数独 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 编写一个 ...
- 代码随想录30——回溯:332重新安排行程、51N皇后、37解数独
文章目录 1.332重新安排行程 1.1.题目 1.2.解答 1.2.1.思路 1.2.2.代码 2.51N皇后 2.1.题目 2.2.解答 3.37解数独 3.1.题目 3.2.解答 3.2.1.正 ...
最新文章
- java对象转xml 高性能_通过实例学习JAVA对象转成XML输出
- TensorRT重磅更新!10亿参数大模型实时运行,GPT推理加速21倍
- 支付宝不止怀有“社交梦”,社区金融才是它的野心所在
- 日常工作用Python能解决哪些问题?
- RVC使用指南(三)-对象管理
- jquery时期到计时插件
- 【新闻发布系统】项目文档
- HDMI热插拔检测原理
- 快速傅里叶变换(FFT):蝶形算法(CT蝴蝶、GS蝴蝶)
- 旅游B2B2C系统解决方案
- 罗振宇2021跨年演讲6:山村小学的豆腐课到底在玩啥?
- 时间格式2020-01-13T16:00:00.000Z中的T和Z分别表示什么,如何处理
- PS 仿制图章 轻松换支付宝赞赏码 GIF动态图手把手教你
- 1962年 电影版 越剧红楼梦 剧本
- 计算机怎么设置内存数据恢复,相机内存卡数据恢复的操作图解
- Unity3d 给人物模型添加动画
- Jsp物流信息网建设(源代码+论文)
- dac单缓冲方式C语言设计,课程设计基于DAC0832单缓冲工作波形发生器.doc
- 灵遁者:写作没有固定的模型,也不会有固定的路
- html弹幕代码135,弹幕代码详解