数独 :解数独--填空
现在就编写一个程序,通过填充空格来解决数独问题。
数独的解法需 遵循如下规则:
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解法
数独 :解数独--填空相关推荐
- python37降到36原来的包还可以用吗_【lc刷题】36/37 有效的数独/解数独(143-144/300)...
143-144/300 有效的数独 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. ...
- “笨兔数独” 解数独软件 介绍及使用指南
最近使用C语言+win32对话框写了一个解数独题目的小软件.在这里可以下载:笨兔数独V1. 现在对软件的功能及如何使用做一个简要的介绍. 程序界面 1>.程序各个按钮说明 start按钮 你可以 ...
- 力扣—— 36. 有效的数独/37. 解数独
目录 有效的数独 解数独 有效的数独 class Solution10(object):def isValidSudoku(self, board):""":type b ...
- (附代码)数独大作业【读取数独,解数独,生成唯一解数独(随机,特定形状,不同难度生成),玩数独】
注:未经同意不要转载. 上学期简单的做了一个数独程序,实现了一些功能,想简单的为大家提供的思路. 为了避免某些情况出现,具体代码暂时先不发了,有不太懂的地方可以评论提问啊. 下面是我的具体报告: 一, ...
- 花了1晚上diy的matlab解数独算法,很好理解!
花了1晚上diy的matlab解数独算法,很好理解! 前言 一.数独的规则 二.算法 1.思路 2.流程图 3.Matlab代码 总结 前言 老婆最近迷上了数独,还给我拍了张照片,初步了解了规则之后, ...
- java解数独_java解数独
先输入要解的数独,采用多维数组来保存其中的值,未填数字的地方,初始化为0,然后采用递归的方法来解数独. 直接上代码: /*** *@authorwalker **/ public classSudok ...
- delphi dbgrideh 遍历每一个单元格_用Python解数独[1]:求每个单元格的行值域
目录 用Python解数独[0] 用Python解数独[1]:求每个单元格的行值域 用Python解数独[2]:求列值域和九宫格值域 用Python解数独[3]:求总值域 用Python解数独[4]: ...
- LeetCode算法题11:递归和回溯-解数独
文章目录 解数独 回溯 : 仅仅在实现方式上有区别 总结 解数独 题目链接:https://leetcode-cn.com/problems/sudoku-solver/ 题目描述:编写一个程序,通过 ...
- 利用Matlab优化工具箱解数独问题
前一阵使用Matlab的优化工具箱,发现可以求解数独问题,有意思!实际上,Matlab优化工具箱有两个:Optimization Toolbox和Global Optimization Toolbox ...
- LeetCode 36有效的数独37解数独(八皇后问题)
公众号:bigsai 回复进群加入打卡 有效的数独 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列 ...
最新文章
- python3.6.3安装-CentOS7.2安装Python3.6.3
- HDU 4267 A Simple Problem with Integers
- 用神经网络模拟分子:数据精确性检测
- CI/CD with drone
- 声学漫谈之六:音腔频段如何判定?
- 2017-2018-1 20155223 实验三 实时系统
- 增量导出_[华为]一种实用的增量式深度CTR模型训练方法
- ctrl+shift+f被搜狗输入法占用的解决方法
- pure tornado -- table
- 【转】记使用Kali linux 2.0的一些坑
- POJ 2728 Desert King:最优比率生成树
- cat3 utp是不是网线_五类网线(CAT 5E/CAT 3 UTP)
- 第6集丨Persistent Objects 和 Caché SQL
- 解析小型机、大型机和PC服务器间的差别
- 自动驾驶技术越来越火,浅谈一些对百度Apollo开放平台8.0的看法和认知
- Android会议室管理app
- Unity Shader Dither
- 点亮显示屏的几个重要步骤
- 《整洁代码之道》学习书摘(二)第一章——整洁代码
- 「Java工具类」汉语转拼音工具类HanyuPinyinHelper.java