
class Solution {
public:
/*
* @param triangle: a list of lists of integers
* @return: An integer, minimum path sum
*/
int minimumTotal(vector<vector<int>> &triangle) {
// write your code here
int row = triangle.size();
if(row < 1)
return 0;
if(row == 1)
return triangle[0][0];
for(int i=row-2;i>=0;i--)
for(int j=0;j<triangle[i].size();j++) {
if(triangle[i+1][j]>triangle[i+1][j+1])
triangle[i][j] = triangle[i+1][j+1]+triangle[i][j];
else
triangle[i][j] = triangle[i+1][j]+triangle[i][j];
}
return triangle[0][0];
}
};
浙公网安备 33010602011771号