1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| // @Title: 礼物的最大价值 (礼物的最大价值 LCOF)
// @Author: 15816537946@163.com
// @Date: 2022-02-13 13:51:23
// @Runtime: 0 ms
// @Memory: 3.7 MB
// var dirs = []struct{x,y int}{{1,0},{-1,0},{0,1},{0,-1}}
func maxValue(grid [][]int) int {
if len(grid) == 0 || len(grid[0]) == 0 {
return 0
}
m,n:= len(grid),len(grid[0])
for i:=1;i<m;i++ {
grid[i][0] += grid[i-1][0]
}
for j:=1;j<n;j++ {
grid[0][j] += grid[0][j-1]
}
for i:=1;i<m;i++ {
for j:=1;j<n;j++ {
grid[i][j] += max(grid[i-1][j],grid[i][j-1])
}
}
return grid[m-1][n-1]
}
func max(a,b int) int {
if a > b {
return a
}
return b
}
|