LeetCode 37. 解数独 Sudoku Solver
编写一个程序,通过已填充的空格来解决数独问题。
一个数独的解法需遵循如下规则:
- 数字
1-9
在每一行只能出现一次。 - 数字
1-9
在每一列只能出现一次。 - 数字
1-9
在每一个以粗实线分隔的3x3
宫内只能出现一次。
空白格用 '.'
表示。
一个数独。
答案被标成红色。
Note:
- 给定的数独序列只包含数字
1-9
和字符'.'
。 - 你可以假设给定的数独只有唯一解。
- 给定数独永远是
9x9
形式的。
public class Solution {public void solveSudoku(char[][] board) {solve(board);}private boolean solve(char[][] board) {for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j ++) {if (board[i][j] =='.') {for (char k = '1'; k <= '9'; k++) {board[i][j] = k;if (isValid(board, i, j) && solve(board)) {return true;}board[i][j] = '.';}return false;}}}return true;}private boolean isValid(char[][] board,int x, int y ) {boolean [][] square = new boolean[9][9];for (int i = 0; i < 9; i++) {if (y != i &&board[x][y] == board[x][i]){return false;}}for (int i = 0; i < 9; i++) {if (x != i &&board[i][y] == board[x][y]){return false;}}for (int i = (x / 3) * 3; i < (x / 3) * 3 + 3; i++) {for (int j = (y /3) * 3; j < (y / 3) *3 + 3; j++) {if (x != i && y != j && board[i][j] == board[x][y]) {return false;}}}return true;}}
LeetCode 37. 解数独 Sudoku Solver相关推荐
- Java实现 LeetCode 37 解数独
37. 解数独 编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实 ...
- LeetCode—37. 解数独(困难)
37. 解数独(困难) 题目描述: 编写一个程序,通过填充空格来解决数独问题. 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 ...
- LintCode 802. 数独(回溯)/ LeetCode 37. 解数独
1. 题目 编写一个程序,通过填充空单元来解决数独难题. 空单元由数字0表示. 你可以认为只有一个唯一的解决方案. LeetCode 37 题类似,把 int 改成 char,注意转换 2. 解题 行 ...
- leetcode 37. 解数独 思考分析
目录 题目 核心思路的不断细化 1.核心框架 2.考虑到每个位置的工作 3.考虑到到达最后一列.该位置的数已经预置的情况 4.判断是否符合规则的函数 5.确定递归终止条件+确定函数返回值 AC代码 题 ...
- LeetCode 37. 解数独
一.题目描述 编写一个程序,通过填充空格来解决数独问题. 数独的解法需 遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 ...
- LeetCode 37 解数独
题目描述 编写一个程序,通过填充空格来解决数独问题.一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 3x ...
- 递归生成数独java_[leetcode] 37. 解数独(Java)(dfs,递归,回溯)
1A 这个题其实15分钟左右就敲出来并且对了...但是由于我输错了一个数..导致我白白debug一个多小时.. 没啥难度,练递归-dfs的好题 class Solution { private int ...
- Leetcode算法Java全解答--37. 解数独
Leetcode算法Java全解答–37. 解数独 文章目录 Leetcode算法Java全解答--37. 解数独 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 编写一个 ...
- LeetCode高频题37. 解数独
LeetCode高频题37. 解数独 提示:本题是系列LeetCode的150道高频题,你未来遇到的互联网大厂的笔试和面试考题,基本都是从这上面改编而来的题目 互联网大厂们在公司养了一大批ACM竞赛的 ...
最新文章
- matlab 降维工具箱
- linux 文件权限标识,linux文件权限学习 包括 特殊权限
- as死机了怎么办_Acer AS574/G开机死机故障排除手记
- 数据挖掘技术在信用卡业务中的应用及实例分析
- JAVA JFrame编程
- java 日志乱码_【开发者成长】JAVA 线上故障排查完整套路!
- Mysql 新增用户可访问指定数据库所有权限
- element-ui表格组件table踩坑总结
- Confluence 6 升级以后
- jQuery学习(六)—jQuery对象的创建
- Detectron2和MMDetection的学习笔记
- java时间转化类,一小时前,刚刚一个月前
- Linq 2 DataSet
- 使用Python将Excel文件中的数据插入MySQL数据库,你学会了吗?
- 上海飞国内最远是哪里_讯飞连发三款智能录音笔!可离线转写拍视频秒配字幕,首推智能TWS耳机...
- 利用企业微信机器人发送GitLab消息
- (转)一个偷食禁果的女孩--一件我亲眼目睹的真实感人故事
- php统计结果,使用php怎么统计问卷调查结果
- 06_Callable接口
- Oracle 宣布 JDK 11 将把 JavaFX 分离成独立模块
热门文章
- 内存卡没有Android,安卓内存卡读不出来怎么办
- 规范小区电瓶车充电桩的分布保障充电安全
- [附源码]java毕业设计高校学生疫情防控信息管理系统
- 炫云云渲染3ds max动画渲染使用教程
- PgMP: Program Management Professional Exam Study Guide
- windows截图保存自动化脚本以及设置快捷键一键运行
- chrome浏览器安装infinity插件
- 【数据科学家学习小组】之统计学(第二期)第一周(20191028-20191103)-momi
- 盈利“晴空”下,唯品会拨不开的“乌云”
- tushare实盘交易接口