Leetcode 121 Best Time to Buy and Sell Stock 动态规划

由于题意太长,请自己翻译,很容易懂的。

做法:从前向后遍历数组,记录当前出现过的最低价格,作为买入价格,并计算以当天价格出售的收益,作为可能的最大收益,整个遍历过程中,出现过的最大收益就是所求。动态规划的思路下次有空写个专题

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        if (prices.size() < 2) return 0;
        
        int maxProfit = 0;
        int curMin = prices[0];
        
        for (int i = 1; i < prices.size(); i++) {
            curMin = min(curMin, prices[i]);
            maxProfit = max(maxProfit, prices[i] - curMin);
        }
        return maxProfit;
    }
};

 

posted @ 2016-05-06 10:35  Breeze0806  阅读(166)  评论(0编辑  收藏  举报