best-time-to-buy-and-sell-stock-iii leetcode C++

mac2022-06-30  64

Say you have an array for which the i th 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).

C++

class Solution { public: int maxProfit(vector<int>& prices){ int buy1 = INT_MIN; int sell1 = 0; int buy2 = INT_MIN; int 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; } };

 

转载于:https://www.cnblogs.com/vercont/p/10210293.html

最新回复(0)