当前位置: 首页 > news >正文

针织东莞网站建设技术支持崇明手机网站建设

针织东莞网站建设技术支持,崇明手机网站建设,网页制作素材网站推荐,免费软件网站建设题目链接#xff1a;37. 解数独 题目描述 编写一个程序#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则#xff1a; 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。…题目链接37. 解数独 题目描述 编写一个程序通过填充空格来解决数独问题。 数独的解法需 遵循如下规则 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。请参考示例图 数独部分空格内已填入了数字空白格用 . 表示。 示例 1 输入board [[5,3,.,.,7,.,.,.,.],[6,.,.,1,9,5,.,.,.],[.,9,8,.,.,.,.,6,.],[8,.,.,.,6,.,.,.,3],[4,.,.,8,.,3,.,.,1],[7,.,.,.,2,.,.,.,6],[.,6,.,.,.,.,2,8,.],[.,.,.,4,1,9,.,.,5],[.,.,.,.,8,.,.,7,9]] 输出[[5,3,4,6,7,8,9,1,2],[6,7,2,1,9,5,3,4,8],[1,9,8,3,4,2,5,6,7],[8,5,9,7,6,1,4,2,3],[4,2,6,8,5,3,7,9,1],[7,1,3,9,2,4,8,5,6],[9,6,1,5,3,7,2,8,4],[2,8,7,4,1,9,6,3,5],[3,4,5,2,8,6,1,7,9]] 解释输入的数独如上图所示唯一有效的解决方案如下所示提示 board.length 9board[i].length 9board[i][j] 是一位数字或者 .题目数据 保证 输入数独仅有一个解 文章讲解代码随想录 视频讲解回溯算法二维递归解数独不过如此| LeetCode37. 解数独_哔哩哔哩_bilibili 题解1回溯法 思路使用回溯法求解棋盘类问题。 回溯分析 递归函数的参数和返回值返回值是一个布尔值表示是否填充完毕。参数为 num表示当前已填充几个数字。递归函数的终止条件num 等于81即填充完整个数独。单层递归的逻辑若当前格还未填充则从1到9尝试填充然后递归的填充下一格已填充则直接递归的填充下一格。剪枝当与其他格数字冲突时跳过本次填充。 /*** param {character[][]} board* return {void} Do not return anything, modify board in-place instead.*/ var solveSudoku function(board) {const rowState new Array(9).fill().map(() new Array(9).fill(false)); // 行状态const colState new Array(9).fill().map(() new Array(9).fill(false)); // 列状态const squierState new Array(3).fill().map(() new Array(3).fill().map(() new Array(9).fill(false))); // 单元状态// 初始化状态表for (let i 0; i 9; i) {for (let j 0; j 9; j) {if (board[i][j] .) {continue;}rowState[i][board[i][j]] true;colState[j][board[i][j]] true;squierState[parseInt(i / 3)][parseInt(j / 3)][board[i][j]] true;}}const backtracking function (num) {if (num 81) {return true; // 填充完毕返回 true}const col num % 9; // 计算列数const row (num - col) / 9; // 计算行数if (board[row][col] ! .) {return backtracking(num 1); // 已经有数字了向下遍历}// 从1到9尝试填充for (let j 1; j 9; j) {// 和规则冲突尝试填充下一个数if (rowState[row][j] || colState[col][j] || squierState[parseInt(row / 3)][parseInt(col / 3)][j]) {continue;}board[row][col] j; // 填充rowState[row][j] true; // 更新行状态colState[col][j] true; // 更新列状态squierState[parseInt(row / 3)][parseInt(col / 3)][j] true; // 更新单元状态// 向下遍历if (backtracking(num 1)) {return true; // 已经填充完毕返还 true}// 回溯board[row][col] .;rowState[row][j] false;colState[col][j] false;squierState[parseInt(row / 3)][parseInt(col / 3)][j] false;}return false;}backtracking(0); }; 分析设 m 为 . 的数量则时间复杂度为 O(9 ^ m)空间复杂度为 O(n²)。 收获 练习使用回溯法求解棋盘类问题和 n 皇后问题不同的是本题需要填充一个二维数组。
http://www.pierceye.com/news/995314/

相关文章:

  • 贵州灵溪seo整站优化wordpress开发文档(chm)
  • iis7 网站权限设置亚马逊网站开发设计
  • 贵阳做网站哪家好复古网站设计
  • 网站跳转是什么意思58这样网站怎么做
  • 易语言网站批量注册怎么做百度模板网站模板
  • 海伦市网站山西大川建设有限公司网站
  • 快速搭建网站域名绑定设置网站优化是往新闻中心发新闻吗
  • 复刻手表网站公众号快速涨10000粉丝方法
  • 珠海网站系统建设项目制作网页的网站推荐
  • 做网站公司怎么选宁波外贸公司排行
  • 在因特网上建设网站可选择的方案网络营销实际上就是网上营销
  • 网站建设思路梳理wordpress 修改数据库表
  • 定制建站橱柜企业网站模板
  • 做网站js框架施工企业三金压降指的是哪三金
  • 现在建设一个网站需要什么技术网页设计素材推荐
  • 大寺网站建设公司虚拟机可以做多个网站
  • 网站更新文章承德信息网
  • 做平面图片的网站网络钟点工
  • 网站的功能板块古镇中小企业网站建设
  • cms网站访问人数wordpress 修改网址
  • 万州网站推广1688拿货网
  • 西部数码做网站企业建设官方网站的目的
  • 做什么网站小程序网站开发怎么样
  • 西安建设网站电话号码上海公司查询官网
  • 空间除了可以做网站还能干什么北京王府井在哪个区
  • 网站的下载二维码怎么做网站地图 模板
  • 网站建设必要性阳江房产网0662
  • 南阳网站推广优化公司哪家好企业网站免费
  • jsp与asp做的网站网页微信登录不了
  • 网站开发登录要做哪些验证wordpress如何修改电子邮箱