123_Best Time to Buy and Sell Stock III
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 (i.e., you must sell the stock before you buy again).
Example:
Solution:
Idea:
Divide and Conquer: suppose the first transaction occurs in A[0, i] and the second transaction happens in A[i, n], then the sum of two profits is the total profit for that i.
Do a forward loop to compute the highest profit we can get when we sell on each day.
Do a backward loop to compute the highest profit we can get when we buy the second share on each day.
Time Complexity:
Space Complexity:
Last updated