Description
Given an array prices, find the maximum profit. You may complete as many transactions as you like but must wait one day after selling before buying again (cooldown).
Examples
Input:
prices = [1,2,3,0,2]Output:
3Explanation:
Buy at 1, sell at 3, cooldown, buy at 0, sell at 2. Profit = 3.
Input:
prices = [1]Output:
0Explanation:
Edge case returning zero.
Input:
prices = [7,1,5,3,6,4]Output:
7Explanation:
Buy at 1, sell at 5 (profit = 4), cooldown at 3, buy at 3, sell at 6 (profit = 3). Total profit = 4 + 3 = 7.
Constraints
- •
1 ≤ prices.length ≤ 5000 - •
0 ≤ prices[i] ≤ 1000