Leetcode-120. 三角形最小路径和
https://leetcode-cn.com/problems/triangle/
解法1:动态规划
题目要求O(n)的空间复杂度
所以我们要对状态转移方程进行压缩
我们首先写二维的状态转移方程dp[i][j]表示从第i行第j列走到底部要的路径和
dp[i][j]=min(dp[i+1][j],dp[i+1][j+1])+triangle[i][j];
现在我们对状态转移方程进行压缩
我们用一维的状态转移方程dp2[j]表示从当前行的j列走到底部要的路径和
我们发现可以将状态转移方程改写为dp[j]=min(dp[j],dp[j+1])+triangle[i][j];
我们从底部向上进行dp转移
1 | class Solution { |