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

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

  1. 数字 1-9 在每一行只能出现一次。
  2. 数字 1-9 在每一列只能出现一次。
  3. 数字 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相关推荐

  1. Java实现 LeetCode 37 解数独

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

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

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

  3. LintCode 802. 数独(回溯)/ LeetCode 37. 解数独

    1. 题目 编写一个程序,通过填充空单元来解决数独难题. 空单元由数字0表示. 你可以认为只有一个唯一的解决方案. LeetCode 37 题类似,把 int 改成 char,注意转换 2. 解题 行 ...

  4. leetcode 37. 解数独 思考分析

    目录 题目 核心思路的不断细化 1.核心框架 2.考虑到每个位置的工作 3.考虑到到达最后一列.该位置的数已经预置的情况 4.判断是否符合规则的函数 5.确定递归终止条件+确定函数返回值 AC代码 题 ...

  5. LeetCode 37. 解数独

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

  6. LeetCode 37 解数独

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

  7. 递归生成数独java_[leetcode] 37. 解数独(Java)(dfs,递归,回溯)

    1A 这个题其实15分钟左右就敲出来并且对了...但是由于我输错了一个数..导致我白白debug一个多小时.. 没啥难度,练递归-dfs的好题 class Solution { private int ...

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

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

  9. LeetCode高频题37. 解数独

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

最新文章

  1. matlab 降维工具箱
  2. linux 文件权限标识,linux文件权限学习 包括 特殊权限
  3. as死机了怎么办_Acer AS574/G开机死机故障排除手记
  4. 数据挖掘技术在信用卡业务中的应用及实例分析
  5. JAVA JFrame编程
  6. java 日志乱码_【开发者成长】JAVA 线上故障排查完整套路!
  7. Mysql 新增用户可访问指定数据库所有权限
  8. element-ui表格组件table踩坑总结
  9. Confluence 6 升级以后
  10. jQuery学习(六)—jQuery对象的创建
  11. Detectron2和MMDetection的学习笔记
  12. java时间转化类,一小时前,刚刚一个月前
  13. Linq 2 DataSet
  14. 使用Python将Excel文件中的数据插入MySQL数据库,你学会了吗?
  15. 上海飞国内最远是哪里_讯飞连发三款智能录音笔!可离线转写拍视频秒配字幕,首推智能TWS耳机...
  16. 利用企业微信机器人发送GitLab消息
  17. (转)一个偷食禁果的女孩--一件我亲眼目睹的真实感人故事
  18. php统计结果,使用php怎么统计问卷调查结果
  19. 06_Callable接口
  20. Oracle 宣布 JDK 11 将把 JavaFX 分离成独立模块

热门文章

  1. 内存卡没有Android,安卓内存卡读不出来怎么办
  2. 规范小区电瓶车充电桩的分布保障充电安全
  3. [附源码]java毕业设计高校学生疫情防控信息管理系统
  4. 炫云云渲染3ds max动画渲染使用教程
  5. PgMP: Program Management Professional Exam Study Guide
  6. windows截图保存自动化脚本以及设置快捷键一键运行
  7. chrome浏览器安装infinity插件
  8. 【数据科学家学习小组】之统计学(第二期)第一周(20191028-20191103)-momi
  9. 盈利“晴空”下,唯品会拨不开的“乌云”
  10. tushare实盘交易接口