目录

  • 有效的数独
  • 解数独

有效的数独

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. 解数独相关推荐

  1. LeetCode 36有效的数独37解数独(八皇后问题)

    公众号:bigsai 回复进群加入打卡 有效的数独 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列 ...

  2. LeetCode高频题37. 解数独

    LeetCode高频题37. 解数独 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们在公司养了一大批ACM竞赛的 ...

  3. Java实现 LeetCode 37 解数独

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

  4. 代码随想录算法训练营第30天 | 51. N皇后 37.解数独 332.重新安排行程 回溯篇小结

    代码随想录系列文章目录 回溯篇 - 棋盘问题 图的dfs 文章目录 代码随想录系列文章目录 51.N皇后 37.解数独 332.重新安排行程 回溯篇小结 51.N皇后 题目链接 这道题的思路是什么样的 ...

  5. 代码随想录刷题|LeetCode 332.重新安排行程 51. N皇后 37. 解数独

    目录 332.重新安排行程 思路 重新安排行程 51. N皇后 思路 N皇后 37. 解数独 思路 解数独         这三道题目都是困难题目,都是根据代码随想录的思路总结书写,慢慢理解,慢慢熟练 ...

  6. 算法训练day24 | php | 332.重新安排行程 , 51. N皇后 , 37. 解数独 ,总结

    一.力扣题332. 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] = [fromi, toi] 表示飞机出发和降落的机场地点.请你对该行程进行重新规划排序. 所有这些机 ...

  7. LeetCode—37. 解数独(困难)

    37. 解数独(困难) 题目描述: 编写一个程序,通过填充空格来解决数独问题. 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 ...

  8. Leetcode算法Java全解答--37. 解数独

    Leetcode算法Java全解答–37. 解数独 文章目录 Leetcode算法Java全解答--37. 解数独 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 编写一个 ...

  9. 代码随想录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.正 ...

最新文章

  1. java对象转xml 高性能_通过实例学习JAVA对象转成XML输出
  2. TensorRT重磅更新!10亿参数大模型实时运行,GPT推理加速21倍
  3. 支付宝不止怀有“社交梦”,社区金融才是它的野心所在
  4. 日常工作用Python能解决哪些问题?
  5. RVC使用指南(三)-对象管理
  6. jquery时期到计时插件
  7. 【新闻发布系统】项目文档
  8. HDMI热插拔检测原理
  9. 快速傅里叶变换(FFT):蝶形算法(CT蝴蝶、GS蝴蝶)
  10. 旅游B2B2C系统解决方案
  11. 罗振宇2021跨年演讲6:山村小学的豆腐课到底在玩啥?
  12. 时间格式2020-01-13T16:00:00.000Z中的T和Z分别表示什么,如何处理
  13. PS 仿制图章 轻松换支付宝赞赏码 GIF动态图手把手教你
  14. 1962年 电影版 越剧红楼梦 剧本
  15. 计算机怎么设置内存数据恢复,相机内存卡数据恢复的操作图解
  16. Unity3d 给人物模型添加动画
  17. Jsp物流信息网建设(源代码+论文)
  18. dac单缓冲方式C语言设计,课程设计基于DAC0832单缓冲工作波形发生器.doc
  19. 灵遁者:写作没有固定的模型,也不会有固定的路
  20. html弹幕代码135,弹幕代码详解

热门文章

  1. hnu 暑期实训之A除以B
  2. [警告] multi-字符 character constant [-Wmultichar] ----字符+符号输出错误
  3. 数据结构 3-2-2 队列的顺序存储实现
  4. 二分——最大的最小值
  5. AcWing 1058. 股票买卖 V
  6. ~~一般哈希(数据结构)(附模板题AcWing 840 模拟散列表)
  7. 自动驾驶—全局定位的学习笔记
  8. Numpy Cookbook by Eric
  9. 强化学习——From drew追寻Mitsuha的学习笔记
  10. win10下安装pytorch,torchvision遇到的bug