class Solution {
public:
int minimumTotal(vector<vector<int> > &triangle) {
int n = triangle.size();
int *res = new int [n];
int *tmp = new int [n];
res[0] = triangle[0][0];
for(int i = 1;i < n;i ++){
for(int k = 0;k < i;k ++)
tmp[k] = res[k];//设置临时变量保存上一层的计算值
res[i] = triangle[i][i] + tmp[i - 1];
res[0] = triangle[i][0] +tmp[0];
for(int j = 1;j < i;j ++){
res[j] = min(tmp[j],tmp[j - 1]) + triangle[i][j];
}
}
int min = res[0];
for(int i = 1;i < n;i ++){
if(min > res[i])
min = res[i];
}
return min;
}
};[LeetCode] Triangle
最新推荐文章于 2020-05-23 10:06:18 发布
本文深入探讨了C++中函数模板的应用与实现,详细解释了模板元编程的概念、语法和常见应用场景,旨在帮助开发者掌握高级编程技巧。
5128

被折叠的 条评论
为什么被折叠?



