现在就编写一个程序,通过填充空格来解决数独问题。

数独的解法需 遵循如下规则:

1.数字 1-9 在每一行只能出现一次。
2.数字 1-9 在每一列只能出现一次。
3.数字 1-9 在每一个宫内只能出现一次。

class Solution:def solveSudoku(self, board) :"""Do not return anything, modify board in-place instead."""row = [[False] * 9 for _ in range(9)]col = [[False] * 9 for _ in range(9)]block = [[[False] * 9 for _ in range(3)] for _ in range(3)]for i in range(9):for j in range(9):if board[i][j] != '.':d = int(board[i][j])row[i][d - 1] = Truecol[j][d - 1] = Trueblock[i // 3][j // 3][d - 1] = Truedef is_valid(x, y, num):if row[x][num - 1] or col[y][num - 1] or block[x // 3][y // 3][num - 1]:return Falsereturn Truedef helper(board):for i in range(9):for j in range(9):if board[i][j] == '.':for k in range(1, 10):if is_valid(i, j, k):board[i][j] = str(k)row[i][k - 1] = col[j][k - 1] = block[i // 3][j // 3][k - 1] = Trueif helper(board):return Truerow[i][k - 1] = col[j][k - 1] = block[i // 3][j // 3][k - 1] = Falseboard[i][j] = "."return Falsereturn Truehelper(board)

之后会出"N皇后问题"的python解法

数独 :解数独--填空相关推荐

  1. python37降到36原来的包还可以用吗_【lc刷题】36/37 有效的数独/解数独(143-144/300)...

    143-144/300 有效的数独 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. ...

  2. “笨兔数独” 解数独软件 介绍及使用指南

    最近使用C语言+win32对话框写了一个解数独题目的小软件.在这里可以下载:笨兔数独V1. 现在对软件的功能及如何使用做一个简要的介绍. 程序界面 1>.程序各个按钮说明 start按钮 你可以 ...

  3. 力扣—— 36. 有效的数独/37. 解数独

    目录 有效的数独 解数独 有效的数独 class Solution10(object):def isValidSudoku(self, board):""":type b ...

  4. (附代码)数独大作业【读取数独,解数独,生成唯一解数独(随机,特定形状,不同难度生成),玩数独】

    注:未经同意不要转载. 上学期简单的做了一个数独程序,实现了一些功能,想简单的为大家提供的思路. 为了避免某些情况出现,具体代码暂时先不发了,有不太懂的地方可以评论提问啊. 下面是我的具体报告: 一, ...

  5. 花了1晚上diy的matlab解数独算法,很好理解!

    花了1晚上diy的matlab解数独算法,很好理解! 前言 一.数独的规则 二.算法 1.思路 2.流程图 3.Matlab代码 总结 前言 老婆最近迷上了数独,还给我拍了张照片,初步了解了规则之后, ...

  6. java解数独_java解数独

    先输入要解的数独,采用多维数组来保存其中的值,未填数字的地方,初始化为0,然后采用递归的方法来解数独. 直接上代码: /*** *@authorwalker **/ public classSudok ...

  7. delphi dbgrideh 遍历每一个单元格_用Python解数独[1]:求每个单元格的行值域

    目录 用Python解数独[0] 用Python解数独[1]:求每个单元格的行值域 用Python解数独[2]:求列值域和九宫格值域 用Python解数独[3]:求总值域 用Python解数独[4]: ...

  8. LeetCode算法题11:递归和回溯-解数独

    文章目录 解数独 回溯 : 仅仅在实现方式上有区别 总结 解数独 题目链接:https://leetcode-cn.com/problems/sudoku-solver/ 题目描述:编写一个程序,通过 ...

  9. 利用Matlab优化工具箱解数独问题

    前一阵使用Matlab的优化工具箱,发现可以求解数独问题,有意思!实际上,Matlab优化工具箱有两个:Optimization Toolbox和Global Optimization Toolbox ...

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

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

最新文章

  1. python3.6.3安装-CentOS7.2安装Python3.6.3
  2. HDU 4267 A Simple Problem with Integers
  3. 用神经网络模拟分子:数据精确性检测
  4. CI/CD with drone
  5. 声学漫谈之六:音腔频段如何判定?
  6. 2017-2018-1 20155223 实验三 实时系统
  7. 增量导出_[华为]一种实用的增量式深度CTR模型训练方法
  8. ctrl+shift+f被搜狗输入法占用的解决方法
  9. pure tornado -- table
  10. 【转】记使用Kali linux 2.0的一些坑
  11. POJ 2728 Desert King:最优比率生成树
  12. cat3 utp是不是网线_五类网线(CAT 5E/CAT 3 UTP)
  13. 第6集丨Persistent Objects 和 Caché SQL
  14. 解析小型机、大型机和PC服务器间的差别
  15. 自动驾驶技术越来越火,浅谈一些对百度Apollo开放平台8.0的看法和认知
  16. Android会议室管理app
  17. Unity Shader Dither
  18. 点亮显示屏的几个重要步骤
  19. 《整洁代码之道》学习书摘(二)第一章——整洁代码
  20. 「Java工具类」汉语转拼音工具类HanyuPinyinHelper.java

热门文章

  1. 【科研论文】基于W5300的以太网数据传输系统的设计与实现
  2. 穿山甲平台助力开发者降本增效,技术进阶
  3. 第十六章 ConvNeXt网络详解
  4. 《春天的二十二个夜晚》
  5. JavaScript字符串去重
  6. 永恒之蓝MS17010复现
  7. Nodejs 框架express热更新
  8. python-批量生成指定名字的图片名
  9. OpenCASCADE BRep vs. OpenNURBS BRep
  10. JavaFx——动态时钟的实现(线程,线程池)