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