LeetCode-Triangle -三角形-DP思想

https://oj.leetcode.com/problems/triangle/

类似用DP的方法迭代以及节省空间的算法。从三角形底部将最小累加到上层即可。

 1 class Solution {
 2 public:
 3     int n;
 4     vector<vector<int> > tr;
 5     int minimumTotal(vector<vector<int> > &triangle) {
 6         tr=triangle;
 7         n=tr.size();
 8         vector <int> a(n+1,0);
 9         for (int i=n-1;i>=0;i--){
10             vector <int> cur=tr[i];
11             for (int j=0;j<=i;j++){
12                 cur[j]+=min(a[j],a[j+1]);
13             }
14             a=cur;
15         }
16         return a[0];
17     }
18 };

 

posted @ 2014-10-12 17:03  zombies  阅读(105)  评论(0编辑  收藏  举报