题目大意:求数字三角形自顶向下的最小路径和
分析:和poj3176类似。两道题都可以空间优化,用一维dp数组即可。
代码:
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
int n = triangle.size();
vector<int> dp(n + 1);
for(int i = n - 1;i >= 0;i--){
for(int j = 0;j <= i;j++){
dp[j] = min(dp[j],dp[j + 1]) + triangle[i][j];
}
}
return dp[0];
}
};