123. Best Time to Buy and Sell Stock III

Say you have an array for which the ith
element is the price of a given stock on day i.

Design an algorithm to find the maximum profit. You may complete at most two transactions.
Note:You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).

class Solution {
public:
    int maxProfit(vector& prices) {
        int len = prices.size();
        if(len<=0)
          return 0;
        vector curProfit(len,0);
        vector futureProfit(len,0);
        int low = prices[0];
        int maxProfit = 0;
        for(int i=1;i=0;i--)
        {
            high = max(prices[i],high);
            futureProfit[i] = max(futureProfit[i+1],high-prices[i]);
        }
        for(int i=0;i

你可能感兴趣的:(123. Best Time to Buy and Sell Stock III)