首页 > 其他 > 详细

LeetCode "Triangle"

时间:2014-07-18 21:18:32      阅读:344      评论:0      收藏:0      [点我收藏+]

This is the same as SPOJ #453. The best way to understand DP

1A code:

class Solution {
public:
    int minimumTotal(vector<vector<int> > &triangle) {        
        for(size_t i = 1; i < triangle.size(); i ++)
        {
            vector<int> &last = triangle[i-1];
            vector<int> &curr = triangle[i];
            
            curr[0] = last[0] + curr[0];
            for(size_t j = 1; j < curr.size() - 1; j ++)
            {
                int picked = last[j-1] < last[j] ? last[j-1] : last[j];
                curr[j] += picked;
            }
            curr[curr.size() - 1] += last[curr.size() - 2];
        }
        //    Get min
        vector<int> &last = triangle[triangle.size()-1];
        return *std::min_element(last.begin(), last.end());
    }
};

LeetCode "Triangle",布布扣,bubuko.com

LeetCode "Triangle"

原文:http://www.cnblogs.com/tonix/p/3850104.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!