Leedcode Day3
1题目介绍
2灵感来源
3代码
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
vector<int> minNum=triangle[triangle.size()-1];// 初始状态 从最后一行开始算起
// vector一维
int n=triangle.size();
for(int i=n-2;i>-1;i++){//计算n-2行开始
for(int j=0;j<=i;j++){
minNum[j]=(minNum[j]<minNum[j+1]?minNum[j]:minNum[j+1])+triangle[i][j];
}
}
return minNum[0];
}
};
解题中遇到的问题
- 对于三角形要倒着算!从最后一行开始算起,一共计算n-1行 所以minnum开辟的空间 triangle[n-1]即可
- 返回值为 vector minnum[0] 算到了三角形的最顶端。