Bootstrap

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

本题源自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];
    }


;