21 lines
354 B
Go
21 lines
354 B
Go
package q64
|
|
|
|
func minPathSum(grid [][]int) int {
|
|
w, h := len(grid[0]), len(grid)
|
|
|
|
for y := 1; y < h; y++ {
|
|
grid[y][0] += grid[y-1][0]
|
|
}
|
|
for x := 1; x < w; x++ {
|
|
grid[0][x] += grid[0][x-1]
|
|
}
|
|
|
|
for y := 1; y < h; y++ {
|
|
for x := 1; x < w; x++ {
|
|
grid[y][x] += min(grid[y-1][x], grid[y][x-1])
|
|
}
|
|
}
|
|
return grid[h-1][w-1]
|
|
}
|
|
|
|
var _ = minPathSum
|