版权声明:本文为博主原创文章,未经博主允许不得转载

题目描述:


编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。
数字 1-9 在每一列只能出现一次。
数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。
空白格用 '.' 表示。
一个数独。
答案被标成红色。Note:给定的数独序列只包含数字 1-9 和字符 '.' 。
你可以假设给定的数独只有唯一解。
给定数独永远是 9x9 形式的。
var solveSudoku = function(board) {function check(board,i,j,val){var row=i-i%3,column=j-j%3;for(var x=0;x<9;x++) {if(board[x][j]==val)return false;//如果这1列有重复}for(var y=0;y<9;y++) {if(board[i][y]==val)return false;//如果这1行有重复}for(var x=0;x<3;x++){for(var y=0;y<3;y++){if(board[row+x][column+y]==val)return false;}}//检查九宫是否重复return true}function dlf(board,i,j){if(i==9){return true;//循环完毕}if(j==9){return     dlf(board,i+1,0);//换一行}if(board[i][j]!="."){return dlf(board,i,j+1);//如果不是空格就下一位}for(var c=1;c<=9;c++){if(check(board,i,j,c)){board[i][j]=c+"";if(dlf(board,i,j+1))return true;//为了不重复board[i][j]="."}}return false;}dlf(board,0,0);
};

javascript解数独LeetCod-37相关推荐

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

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

  2. Java实现 LeetCode 37 解数独

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

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

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

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

  5. 【LeetCode】第37题——解数独(难度:困难)

    [LeetCode]第37题--解数独(难度:困难) 题目描述 解题思路 代码详解 注意点 题目描述 编写一个程序,通过填充空格来解决数独问题. 数独的解法需 遵循如下规则: 数字 1-9 在每一行只 ...

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

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

  7. 代码随想录算法训练营第30天| 332.重新安排行程 、51. N皇后 、 37. 解数独

    代码随想录算法训练营第30天| 332.重新安排行程 .51. N皇后 . 37. 解数独 332.重新安排行程 开始想的是将行程进行全排列之后,然后选出一个字典排序最小的.就也是使用的回溯的思路. ...

  8. 代码随想录算法训练营第三十天| 第七章 回溯算法:332.重新安排行程,51.N皇后,37.解数独(python)

    回溯算法总结 332.重新安排行程 讲解链接 class Solution:def __init__(self):self.res = []self.dict = defaultdict(list)d ...

  9. 代码随想录【Day 30】| 332.重新安排行程 、51. N皇后 、37. 解数独

    代码随想录[Day 30] | 332.重新安排行程 .51. N皇后 .37. 解数独 332.重新安排行程 题目链接:332.重新安排行程 卡尔文解 解题思路及注意事项: 代码实现: 51. N皇 ...

最新文章

  1. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...
  2. 82.数据库里的读锁写锁
  3. VTK:可视化之LabelContours
  4. 异步IO\数据库\队列\缓存
  5. Windows2008安装组件命令行工具ServerManagerCmd用法介绍
  6. javascript --- js中的作用域 变量提升
  7. 计算机操作系统英文版课后答案,计算机操作系统(第3版)课后习题答案(完整版)...
  8. windows server 2008R2 部署WSUS 服务
  9. 数据科学 IPython 笔记本 7.5 数据索引和选择
  10. API文档和代码片段管理器:​​​​Dash
  11. 简易语音助手—python
  12. 网络:简述传统CPE向VCPE的演进
  13. [组图]手机病毒组合拳一箭双雕 手机PC均中招(转)
  14. vue子组件获取祖先组件值的方法
  15. 视频分享 500 G JAVA视频网盘分享(JEECG开源社区)
  16. matlab一元线性回归及多元线性回归方程
  17. 快讯 | Elon Musk拟跨界做喜剧,号称要建立跨星系传媒帝国Thud!(轰!)
  18. 老男孩51CTO博客博文列表整理版20170620更新
  19. PaddleOCR车牌检测识别训练、部署
  20. Lytro发布光场影片,让你感受真正的沉浸式视频体验

热门文章

  1. 如何安装Windows操作系统
  2. 使用Sendinput函数模拟鼠标键盘操作
  3. Object.values()
  4. 我的开车心得-送给马路新人 【转】
  5. Codeforces868F Yet Another MinimizationProblem
  6. 让英文和数字随机生成java_Java生成随机字母和数字
  7. 微信小程序 - 引入并使用 Fly.js 请求库(超级详细的教程及运行示例)提供 Fly.js 源码源文件下载,贴心的配置示例及注释,优雅快速的发起 http 网络请求
  8. Win10系统下安装Linux Ubuntu16.04双系统
  9. python 按照四个点的坐标裁剪不规则四边形
  10. TML5期末大作业:动漫网站设计——神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码