120. 三角形最小路径和
从最底下开始往上遍历,以triangle[i][j]为顶的三角形最短距离为该点值加两个下处的最短距离的较小值。
依次遍历,最后返回第一个。
cpp
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
int ans=0;
int n=triangle.size();
vector<int> layer=triangle[n-1];
for(int i=n-2;i>=0;i--)
{
for(int j=0;j<=i;j++)
{
layer[j]=triangle[i][j]+min(layer[j],layer[j+1]);
}
}
return layer[0];
}
};