这个也比较简单,嘻嘻。
class Solution:
def minPathSum(self, grid: List[List[int]]) -> int:
# 动态规划
row, col = len(grid), len(grid[0])
dp = [[0] * (col) for _ in range(row)]
print(dp)
# 初始状态
dp[0][0] = grid[0][0]
print(dp)
for i in range(1, row):
dp[i][0] = dp[i-1][0] + grid[i][0]
print(dp)
for j in range(1, col):
dp[0][j] = dp[0][j-1] + grid[0][j]
print(dp)
# 状态转移
for i in range(1, row):
for j in range(1, col):
dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i][j]
print(dp)
return dp[row-1][col-1]