- #刷题
309. Best Time to Buy and Sell Stock with Cooldown

12020
这个算法好精妙阿。。。分享一下
profit1 = max profit on day i if I sell
profit2 = max profit on day i if I do nothing
How will those profits on day i+1 relate to profits on day i ?
1. profit1[i+1] means I must sell on day i+1, and there are 2 cases:
a. If I just sold on day i, then I have to buy again on day i and sell on day i+1
b. If I did nothing on day i, then I have to buy today and sell today
Taking both cases into account, profit1[i+1] = max(profit1+prices[i+1]-prices, profit2)
2. profit2[i+1] means I do nothing on day i+1, so it will be max(profit1, profit2)
profit1 = max profit on day i if I sell
profit2 = max profit on day i if I do nothing
How will those profits on day i+1 relate to profits on day i ?
1. profit1[i+1] means I must sell on day i+1, and there are 2 cases:
a. If I just sold on day i, then I have to buy again on day i and sell on day i+1
b. If I did nothing on day i, then I have to buy today and sell today
Taking both cases into account, profit1[i+1] = max(profit1+prices[i+1]-prices, profit2)
2. profit2[i+1] means I do nothing on day i+1, so it will be max(profit1, profit2)
0条回复
热度排序