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

双语网站价格小程序开发制作

双语网站价格,小程序开发制作,山东网站策划怎么做,短链接生成器 草料跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的! 代码随想录 LeetCode:37. 解数独 编写一个程序,通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff…

跟着carl学算法,本系列博客仅做个人记录,建议大家都去看carl本人的博客,写的真的很好的!
代码随想录

LeetCode: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”]]
解释:输入的数独如上图所示,唯一有效的解决方案如下所示:
在这里插入图片描述
emmm

	public void solveSudoku(char[][] board) {solveSudokuHelper(board);}private boolean solveSudokuHelper(char[][] board) {// 「一个for循环遍历棋盘的行,一个for循环遍历棋盘的列,// 一行一列确定下来之后,递归遍历这个位置放9个数字的可能性!」for (int i = 0; i < 9; i++) { // 遍历行for (int j = 0; j < 9; j++) { // 遍历列if (board[i][j] != '.') { // 跳过原始数字continue;}for (char k = '1'; k <= '9'; k++) { // (i, j) 这个位置放k是否合适if (isValidSudoku(i, j, k, board)) {board[i][j] = k;if (solveSudokuHelper(board)) { // 如果找到合适一组立刻返回return true;}board[i][j] = '.';}}// 9个数都试完了,都不行,那么就返回falsereturn false;// 因为如果一行一列确定下来了,这里尝试了9个数都不行,说明这个棋盘找不到解决数独问题的解!// 那么会直接返回, 「这也就是为什么没有终止条件也不会永远填不满棋盘而无限递归下去!」}}// 遍历完没有返回false,说明找到了合适棋盘位置了return true;}/*** 判断棋盘是否合法有如下三个维度:* 同行是否重复* 同列是否重复* 9宫格里是否重复*/private boolean isValidSudoku(int row, int col, char val, char[][] board) {// 同行是否重复for (int i = 0; i < 9; i++) {if (board[row][i] == val) {return false;}}// 同列是否重复for (int j = 0; j < 9; j++) {if (board[j][col] == val) {return false;}}// 9宫格里是否重复int startRow = (row / 3) * 3;int startCol = (col / 3) * 3;for (int i = startRow; i < startRow + 3; i++) {for (int j = startCol; j < startCol + 3; j++) {if (board[i][j] == val) {return false;}}}return true;}
http://www.zhongyajixie.com/news/44409.html

相关文章:

  • 优的深圳网站设计公司信息如何优化上百度首页公司
  • 太原网站建设外包须知传媒美工培训
  • 海口建站费用湖南网站托管
  • 宝安做棋牌网站建设有哪些公司绍兴seo公司
  • 服务器可以放几个网站推广策略及推广方式
  • 网站建设网站需要什么网站关键词快速排名技术
  • 公司做网站需准备什么材料网页设计代码大全
  • 软件界面惠州百度seo
  • 宁波企业网站开发百度竞价推广开户联系方式
  • 做外贸生意上哪个网站想要推广页
  • 吃什么补肾虚效果最好食物杭州网站优化流程
  • 免费人才招聘网站怎么制作网页设计
  • 职业学院网站建设方案网站推广的途径有哪些
  • 做后台网站seo诊断专家
  • 如何做英文网站推广百度识图网页版在线
  • 宁波网站建设工作室百度售后客服电话24小时
  • 建设一个棋牌网站都得准备什么关键词优化的五个步骤
  • 珠海公司做网站免费引流推广方法
  • 国外做外挂的网站做个公司网站大概多少钱
  • 学做网站哪里学推广普通话的意义
  • 网站简历导出网络营销课程个人感悟
  • 西安网站手机网站建设好的推广平台
  • 广州可以做票务商城的网站公司软文推广发稿
  • 江西建设职业技术学院官方网站重庆seo优化推广
  • 网站支付怎么做虚拟币支付seo搜索
  • 重庆市建设工程信息网项目经理解锁指南宁波seo推荐优化
  • 广西壮族自治区医保网上服务大厅英文网站seo
  • 做电商网站外包营销运营主要做什么
  • 怎样设计网站seo怎么才能做好
  • 中国建设银行官网个人网上银行seo网站推广什么意思