您的位置:首页 > 其它

给定一个三角形,从顶部到底部找到最小路径和。 每个步骤,您可以移动到下面的行上的相邻数字。

2017-10-11 10:54 429 查看
本题源自leetcode

---------------------------------------------------------------------------

从下往上遍历,上一层节点为下一层相邻节点的最小值加上当前节点。最后返回顶层节点

int minimumTotal(vector<vector<int> > &triangle) {
int len=triangle.size();
if(len==0)
return 0;
for(int i=len-2;i>=0;i--){
for(int j=0;j<i+1;j++){
//当前节点为,当前节点加上下一层节点左右相邻的最小值
triangle[i][j]+=(triangle[i+1][j]<triangle[i+1][j+1] ? triangle[i+1][j]:triangle[i+1][j+1]);
}
}
return triangle[0][0];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐