卷三 · 代码与实践1 分钟阅读

leetcode题解64:最小路径和

描述

该题来自于力扣第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
python
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]

继续这个系列