动态规划:
triangle[i][j]=min(triangle[i][j]+triangle[i+1][j],triangle[i][j]+triangle[i+1][j+1]);
return triangle[0][0];
2 2 2 11
3 4 3 4 9 10 9 10
6 5 7 7 6 10 7 6 10 7 6 10
4 1 8 3 4 1 8 3 4 1 8 3 4 1 8 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;j++)
{
triangle[i][j]=min(triangle[i][j]+triangle[i+1][j],triangle[i][j]+triangle[i+1][j+1]);
}
return triangle[0][0];
}
int min(int a,int b)
{
return a<b?a:b;
}
};