描述
该题来自于力扣第64题
分析
和力扣第62题的区别在于,是求最小和,还是用dp[i][j]
表示达到i,j
网格的最小和,那么转移方程为dp[i][j] = min(dp[i-1][j], dp[i][j-1]) + grid[i][j]
,当然这是对i>0,j>0
的情况,i==0
或j==0
的情况,就更简单了,具体可以参考代码。
代码
python
1 2 3 4 5 6 7 8 9 10 11 12 13
| class Solution: def minPathSum(self, grid: List[List[int]]) -> int: m = len(grid) n = len(grid[0]) for i in range(1, m): grid[i][0] += grid[i-1][0] for j in range(1, n): grid[0][j] += grid[0][j-1]
for i in range(1, m): for j in range(1, n): grid[i][j] += min(grid[i-1][j], grid[i][j-1]) return grid[m-1][n-1]
|