1. 120

triangle


2. 算法

http://www.cnblogs.com/grandyang/p/4286274.html

O(n^2)

  • 设状态是f(i,j),表示从位置(i,j)出发,路径的最小和,状态转移方程是:

  • f(i,j)=min{f(i,j+1),f(i+1,j+1)}+(i,j)

  • (i,j)表示原三角形第i行j列的值

在原数组上修改


3. 代码

class Solution {
public:
    int minimumTotal(vector<vector<int>>& triangle) {
        for(int i=triangle.size()-2;i>=0;--i)
            for(int j=0;j<i+1;++j)
                triangle[i][j]+=min(triangle[i+1][j],triangle[i+1][j+1]);
        return triangle[0][0];

    }
};

results matching ""

    No results matching ""