2020年7月10日 最佳买卖股票时机含冷冻期 maxProfit![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/82f49d6ac114bdbf60b19e694d2bc0a6.png)
默认格式:
class Solution {
public int maxProfit(int[] prices) {
}
}
解题思路:
首先,看一看能否使用动态规划的方式来做该题。
第n天获得的最大利益和第n-1天有关系吗?没有,那就没有办法做动态规划。
1,暴力迭代
第1天买入,第2、3、4、5…最后一天卖出,计算出最低收入。
然后计算第二天买入的最低收入。第二天买入的比第一天买入的收入高
计算第三天买入的收入
没有变化,第三天买入的必定比第二天买入的收益低。
第四天买入的也是一样,没有比第一天买入收益高。
重点
第五天买入的,需要加上第3天卖出的最高收益。第5天买入,之前完全足够第2天买入第三天卖出第4天休眠,所以,我们加上前面3天最高的收益,再计算之后可能得到的最高的收益。
最后得到最高值23。
时间复杂度n2,空间复杂度n
实现代码:
初版:
public int