[LeetCode]Best Time to Buy and Sell Stock II

来源:互联网 发布:手机cad软件下载 编辑:程序博客网 时间:2024/06/06 17:12
解题思路:
记录两个状态:
1,当前,有股票时候的最大收益 havStock = max(havStock, nonStock - prices[i])
2,当前,没有股票时候的最大收益 nonStock = max(nonStock, havStock + prices[i]) 
状态转移公式已经列在上面了。


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


0 0
原创粉丝点击