关注
修改第二题的代码
package main
import "fmt"
func getMaximumResource(grid [][]int) int {
// 应该是dfs
M := -1 << 10
res := 0
var dfs func(i, j int)
visited := make([][]int, len(grid))
for i := 0; i < len(grid); i++ {
visited[i] = make([]int, len(grid[0]))
}
dfs = func(i, j int) {
// 边界
if i < 0 || j < 0 || i >= len(grid) || j >= len(grid[0]) {
return
}
// 访问过 或 当前为 0
if grid[i][j] == 0 || visited[i][j] == 1 {
return
}
visited[i][j] = 1
res += grid[i][j]
M = max(M, res)
// 四个方向
dfs(i+1, j)
dfs(i-1, j)
dfs(i, j+1)
dfs(i, j-1)
res -= grid[i][j]
visited[i][j] = 0
return
}
for i := 0; i < len(grid); i++ {
for j := 0; j < len(grid[0]); j++ {
if grid[i][j] != 0 {
dfs(i, j)
}
}
}
return M
}
func max(a, b int) int {
if a > b {
return a
}
return b
}
func main() {
grid := [][]int{{0, 6, 0}, {5, 8, 7}, {0, 9, 0}}
fmt.Println(getMaximumResource(grid))
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 职场捅娄子大赛 #
375357次浏览 3827人参与
# 摸鱼打卡站 #
41746次浏览 710人参与
# 写给毕业5年后的自己 #
13957次浏览 244人参与
# 听到哪句话就代表面试稳了or挂了? #
167357次浏览 1355人参与
# 找实习你看重大厂光环还是业务方向 #
14283次浏览 114人参与
# 你最满意的offer薪资是哪家公司? #
28669次浏览 158人参与
# 打工人的辛酸 #
40803次浏览 421人参与
# 打工人的精神状态 #
46421次浏览 818人参与
# 机械人避雷的岗位/公司 #
18664次浏览 154人参与
# 你喜欢工作还是上学 #
48510次浏览 538人参与
# 工作压力大怎么缓解 #
83925次浏览 956人参与
# 牛友们的论文几号送审 #
43682次浏览 769人参与
# 考研对你找工作产生了哪些影响? #
18805次浏览 168人参与
# 提前批的机械人,你们都有面试了吗 #
94092次浏览 955人参与
# 你的房租占工资的比例是多少? #
30261次浏览 342人参与
# 什么专业适合考公 #
32654次浏览 208人参与
# 我的国央企投递进展 #
43635次浏览 272人参与
# 硬件人秋招的第一个offer #
72903次浏览 1119人参与
# 百度求职进展汇总 #
397984次浏览 4681人参与
# 我在牛客求捞 #
74943次浏览 277人参与