Leetcode#120 Triangle

原题地址

 

数字三角,经典动归题。

编码时可状态压缩成1维数组

 

代码:

 1 int minimumTotal(vector<vector<int> > &triangle) {

 2         if (triangle.empty()) return -1;

 3         

 4         vector<int> layer(triangle[triangle.size() - 1]);

 5         

 6         for (int i = triangle.size() - 2; i >= 0; i--) {

 7             vector<int> upperLayer;

 8             for (int j = 0; j <= i; j++)

 9                 upperLayer.push_back(triangle[i][j] + min(layer[j], layer[j + 1]));

10             layer = upperLayer;

11         }

12         

13         return layer[0];

14 }

 

你可能感兴趣的:(LeetCode)