0.题目
1. 动态规划 O(mn) O(mn)
class Solution:
def minPathSum(self, grid):
dp = [grid[_] for _ in range(len(grid))] #复制grid
for i in range(len(grid)):
for j in range(len(grid[0])):
if i>=1 and j>=1:
dp[i][j] = min(dp[i-1][j],dp[i][j-1])+grid[i][j]
elif i>=1:
dp[i][j] = dp[i-1][j]+grid[i][j]
elif j>=1:
dp[i][j] = dp[i][j-1]+grid[i][j]
else:
continue
return dp[-1][-1]