登录
  • #刷题

309. Best Time to Buy and Sell Stock with Cooldown

dimi
1202
0
这个算法好精妙阿。。。分享一下

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条回复
热度排序

发表回复