Skip to content

Commit 929e60d

Browse files
add golang Solution for problem 64
1 parent 04473d1 commit 929e60d

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed
+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
func minPathSum(grid [][]int) int {
3+
yl := len(grid)
4+
if yl == 0 {
5+
return 0
6+
}
7+
xl := len(grid[0])
8+
if xl == 0 {
9+
return 0
10+
}
11+
// malloc
12+
dp := make([][]int, yl)
13+
for i, _ := range dp {
14+
dp[i] = make([]int, xl)
15+
}
16+
dp[0][0] = grid[0][0]
17+
for i := 1; i < yl; i++ {
18+
dp[i][0] = grid[i][0] + dp[i-1][0]
19+
}
20+
for j := 1; j < xl; j++ {
21+
dp[0][j] = grid[0][j] + dp[0][j-1]
22+
}
23+
for i := 1; i < yl; i++ {
24+
for j := 1; j < xl; j++ {
25+
dp[i][j] = grid[i][j] + minInt(dp[i-1][j], dp[i][j-1])
26+
}
27+
}
28+
return dp[yl-1][xl-1]
29+
}
30+
31+
func minInt(x, y int) int {
32+
if x < y {
33+
return x
34+
}
35+
return y
36+
}

0 commit comments

Comments
 (0)