leetcode123. 买卖股票的最佳时机 III

动态规划

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int buy1=-prices[0],sell1=0;
        int buy2=-prices[0],sell2=0;
        for(int i=0;i<prices.size();i++){
            buy1=max(buy1,-prices[i]);//找到第一次买的最小值
            sell1=max(sell1,buy1+prices[i]);//找到第一次卖的最大值
            buy2=max(buy2,sell1-prices[i]);//找到第二次买的最小值
            sell2=max(sell2,buy2+prices[i]);//找到第二次卖的最大值
        }
        return sell2;
    }
};