问题:
题目来源:力扣(LeetCode)
难度:中等
分析:
和不同路径的思路一致。
Tips:
1、本题依旧无法使用辅助行和辅助列,因此乖乖自己初始化第一行和第一列。
2、本题的递推公式为dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j],当前格子值只依赖临近的两个格子的值,因此可以将空间优化到O(n)。
解决方法:
1:二维DP
递推公式为
dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + grid[i][j]
class Solution:
def minPathSum(self, grid: List[List[int]]) -> int:
if not
r, c = len(grid), len(grid[0])
dp = [[0] * c for _ in range(r