解法:基础班动态规划题,从底往上推即可,听说曾是字节的笔试题,倒也是比较简单的题目了。
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
if(triangle.size()==1)return triangle[0][0];
int n = triangle.size();
for(int i=n-2;i>=0;i--)
{
for(int j=0;j<=i;j++)
{
triangle[i][j]+=min(triangle[i+1][j],triangle[i+1][j+1]);
}
}
return triangle[0][0];
}
};
时间复杂度O(n^2)