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

广东品牌网站建设报价表网络推广公司运营

广东品牌网站建设报价表,网络推广公司运营,网站搬家,WordPress用户页面目录 题目:剑指 Offer 12. 矩阵中的路径 - 力扣(LeetCode) 题目的接口: 解题思路: 代码: 过啦!!! 题目:剑指 Offer 13. 机器人的运动范围 - 力扣&#…

目录

题目:剑指 Offer 12. 矩阵中的路径 - 力扣(LeetCode)

题目的接口:

解题思路:

代码:

过啦!!!

题目:剑指 Offer 13. 机器人的运动范围 - 力扣(LeetCode)

题目的接口:

解题思路:

代码:

过啦!!!

写在最后:


题目:剑指 Offer 12. 矩阵中的路径 - 力扣(LeetCode)

题目的接口:

func exist(board [][]byte, word string) bool {}

解题思路:

这是一道经典的搜索题,用和是深度优先搜素,这个方法是我比较喜欢使用的方法,我来讲讲这个实现方法的几个核心:

我们从上往下看,dic 数组的作用是让我们可以搜索的时候往四个方向搜素;

vis 数组的作用是用来判断在这次搜索中,格子是否被占用;

check 函数,这里就是 golang 的特色实现,我们把函数逻辑实现在主逻辑内;

最后的那个循环就是将每个格子都作为起点走搜索的逻辑。

代码:

type pair struct {x inty int
}var dic = []pair{{-1, 0}, {1, 0}, {0, -1}, {0, 1}}func exist(board [][]byte, word string) bool {h, w := len(board), len(board[0])// 用于判断格子是否已经被占用vis := make([][]bool, h)for i := range vis {vis[i] = make([]bool, w)}// 搜索函数var check func(i, j, k int) boolcheck = func(i, j, k int) bool {if board[i][j] != word[k] { // 字符匹配失败return false}if k == len(word)-1 { // 单词匹配成功return true}vis[i][j] = true // 标记使用过的单元格defer func() { vis[i][j] = false }() // 回溯的时候还原使用过的单元格for _, dir := range dic {newI, newJ := dir.x+i, dir.y+jif newI >= 0 && newI < h && newI < h && newJ >= 0 && newJ < w && !vis[newI][newJ] {if  check(newI, newJ, k+1) {return true}}}return false}// 每个格子作为起点搜素for i, row := range board {for j := range row {if check(i, j, 0) {return true}}}return false
}

过啦!!!

题目:剑指 Offer 13. 机器人的运动范围 - 力扣(LeetCode)

题目的接口:

func movingCount(m int, n int, k int) int {}

解题思路:

这道题还是一道搜索题,跟上一题差不多,主要有两个要点,首先是这道题我们得计算机器人走的步数,第二点是我们需要求出他的位数和才能判断他是否能够抵达该位置。

代码:

func movingCount(m int, n int, k int) int {dp := make([][]int, m)for i := range dp {dp[i] = make([]int, n)}return dfs(m, n, 0, 0, k, dp)
}func dfs(m, n, i, j, k int, dp [][]int) int {if i < 0 || j < 0 || i >= m || j >= n || dp[i][j] == 1 || (sumPos(i)+sumPos(j)) > k {return 0}dp[i][j] = 1sum := 1sum += dfs(m, n, i, j+1, k, dp)sum += dfs(m, n, i+1, j, k, dp)return sum
}// 求所有位之和
func sumPos(n int) int {var sum intfor n > 0 {sum += n % 10n = n / 10}return sum
}

过啦!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~

http://www.dinnco.com/news/5286.html

相关文章:

  • 制作外贸网站长春网站seo
  • 免费网站空间虚拟主机廊坊seo整站优化
  • wordpress网站设计如何在各大平台推广
  • pc网站优化排名软件网络外贸推广
  • 免费网站注册永久查网站权重
  • 关于网站设计的论文南宁百度seo优化
  • 用模板做网站会被盗吗网站制作教程视频
  • 响应式网站用什么做培训心得模板
  • 广东做网站的公司高端品牌网站建设
  • 赤峰网站制作公司四年级说新闻2023
  • 燕郊做网站百度搜索什么关键词排名
  • 网站做导航的地图导航百度一下就知道百度首页
  • 做网站主要用哪种语言seo排名赚
  • 外贸独立网站怎么做懂得网站推广
  • url就是网站的域名seo免费入门教程
  • 做视频网站长春网站关键词推广
  • 无经验做网站营销推广策划方案范文
  • 中国建设网查询平台网址网站优化公司认准乐云seo
  • 网站素材模板英文外链seo兼职在哪里找
  • 网站空间大小查询seo自动优化软件安卓
  • 个人网站建设流程深圳互联网公司50强
  • 网站页面的滑动怎么做黄页88网
  • 新余专业做淘宝网站网络推广免费网站
  • 鸡西做网站企业网站开发制作
  • 动漫网站源码专业网络推广
  • 网站logo图怎么做的自己开一个培训机构流程
  • 蝴蝶传媒网站推广seo是干啥的
  • 怎么给自己网站做推广最近三天的新闻大事摘抄
  • 常州外贸网站贴吧引流推广
  • 网站建设服务费标准成功营销案例100例