class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
int n=triangle.size();//求二维向量的行
if(n==0) return 0;
vector<int> A;//其实可以不必额外空间,直接在原向量上动手脚。
for(int i=0;i<n;i++)
{
A.push_back(triangle[n-1][i]);
}
for(int i=n-2;i>=0;i--)
{
for(int j=0;j<=i;j++)
{
A[j]=A[j]<A[j+1]?A[j]+triangle[i][j]:A[j+1]+triangle[i][j];
}
}
return A[0];
}
};
分析:常规思路,倒过来处理省去不少麻烦
leetcode_120. Triangle
最新推荐文章于 2021-02-25 17:39:21 发布