Skip to content

Commit 2b3a80b

Browse files
authored
Update 064.最小路径和.py
1 parent cbb057f commit 2b3a80b

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

leetcode/064.最小路径和.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,23 @@ def minPathSum(self, grid):
3030
grid[i][j] += grid[i-1][j]
3131
else:
3232
grid[i][j] += min(grid[i-1][j], grid[i][j-1])
33-
return grid[-1][-1]
33+
return grid[-1][-1]
34+
35+
36+
# 动态规划经典写法
37+
class Solution(object):
38+
def minPathSum(self, grid):
39+
m, n = len(grid), len(grid[0])
40+
dp = [[0]*n for _ in range(m)]
41+
dp[0][0] = grid[0][0]
42+
# 初始化首行首列
43+
for i in range(1, m):
44+
dp[i][0] = dp[i-1][0] + grid[i][0]
45+
for j in range(1, n):
46+
dp[0][j] = dp[0][j-1] + grid[0][j]
47+
# 遍历每个位置
48+
for i in range(1, m):
49+
for j in range(1, n):
50+
dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i][j]
51+
52+
return dp[-1][-1]

0 commit comments

Comments
 (0)