关注
修改第二题的代码
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))
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 笔试 #
2349395次浏览 27369人参与
# 如果没找到工作,考公是你的退路吗 #
15633次浏览 177人参与
# 牛友故事会 #
507682次浏览 11586人参与
# 蔚来求职进展汇总 #
84945次浏览 746人参与
# 金蝶求职进展汇总 #
41234次浏览 234人参与
# 找工作有哪些冷知识 #
17458次浏览 210人参与
# 关于春招你都做了哪些准备? #
77702次浏览 507人参与
# 你最希望上岸的公司是? #
112207次浏览 622人参与
# 产品2023笔面经 #
46794次浏览 422人参与
# 谈薪时HR压价该怎么应对 #
189513次浏览 3050人参与
# 我的2024小目标 #
54108次浏览 370人参与
# 实习中的菜狗时刻 #
326641次浏览 3086人参与
# 得物求职进展汇总 #
84542次浏览 764人参与
# 小米提前批笔试难吗 #
30725次浏览 342人参与
# 实习期间如何提升留用概率? #
32522次浏览 441人参与
# CVTE工作体验 #
8812次浏览 20人参与
# 上班苦还是上学苦呢? #
210570次浏览 1280人参与
# 秋招被确诊为…… #
151885次浏览 696人参与
# 扒一扒那些奇葩实习经历 #
25379次浏览 637人参与
# 机械人的offer怎么选 #
127916次浏览 734人参与