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

解数独力扣

题目

解题思路

1.双层循环每一个位置都要去判断能不能放数字

2.每到一个位置如果为空,for循环遍历1-9,通过函数判断是否能放这个数字能放开始回溯判断放下这个数字之后

3.不设结束条件,一直循环判断下去知道所有位置全部填满数字然后return true表示找到解

func solveSudoku(board [][]byte) {var backtracking func(board [][]byte) boolbacktracking = func(board [][]byte) bool {for i := 0; i < 9; i++ {for j := 0; j < 9; j++ {//判断此位置是否适合填数字if board[i][j] != '.' {continue}//尝试填1-9for k := '1'; k <= '9'; k++ {if isvalid(i, j, byte(k), board) == true { //如果满足要求就填board[i][j] = byte(k)if backtracking(board) == true {return true}board[i][j] = '.'}}return false}}return true}backtracking(board)
}//判断填入数字是否满足要求
func isvalid(row, col int, k byte, board [][]byte) bool {for i := 0; i < 9; i++ { //行if board[row][i] == k {return false}}for i := 0; i < 9; i++ { //列if board[i][col] == k {return false}}//方格startrow := (row / 3) * 3startcol := (col / 3) * 3for i := startrow; i < startrow+3; i++ {for j := startcol; j < startcol+3; j++ {if board[i][j] == k {return false}}}return true
}

http://www.lryc.cn/news/526569.html

相关文章:

  • Zookeeper(28)Zookeeper的线性化写入和顺序一致性读是什么?
  • ARM嵌入式学习--第九天(串口通信)
  • Github 2025-01-25Rust开源项目日报Top10
  • Android BitmapShader简洁实现马赛克/高斯模糊(毛玻璃),Kotlin(三)
  • PCIE模式配置
  • python深入SQLAlchemy使用详解
  • Bootstrap4 模态框
  • GSI快速收录服务:让你的网站内容“上架”谷歌
  • vim如何设置制表符表示的空格数量
  • 【Uniapp-Vue3】setTabBar设置TabBar和下拉刷新API
  • 【玩转全栈】----Django模板的继承
  • 详解数据库系统概述
  • Windows的docker中安装gitlab
  • 基于微信小程序的健身管理系统设计与实现(LW+源码+讲解)
  • windows 安装 mysql 教程
  • Vue2+OpenLayers初始化高德地图
  • 六、深入了解DI
  • IMX6ull项目环境配置
  • Edge-TTS在广电系统中的语音合成技术的创新应用
  • 芸众商城小程序会员页面部分图标不显示问题解决办法
  • 手机app如何跳过无障碍权限实现弹框自动点击-ADB连接专题
  • 「 机器人 」扑翼飞行器控制的当前挑战与后续潜在研究方向
  • Vue入门(Vue基本语法、axios、组件、事件分发)
  • DELL EDI:需求分析及注意事项
  • 计算机网络 (62)移动通信的展望
  • java 中多线程、 队列使用实例,处理大数据业务
  • 13.图形程序接口(Graphics API)
  • PPT自动化 python-pptx -7: 占位符(placeholder)
  • Pyecharts之图表组合与布局优化
  • 流行的开源高性能数据同步工具 - Apache SeaTunnel 整体架构运行原理