https://leetcode-cn.com/circle/discuss/FE62mO/
https://www.cnblogs.com/liuzhen1995/p/13767323.html
LCP 07. 传递信息
买股票
121. 买卖股票的最佳时机
答案
- 若出现价格比买入价更低的价格,更新买入价。因为之前的买入价所能达到的最大利润只会比新的买入价小。
- 反之,更新最大利润
22. 买卖股票的最佳时机 II
单调栈被我做出来了
- 单调递增栈(正向遍历数组)
- 对于每一个价格
- 如果小于栈尾,则表明栈尾必须卖出。因为如果不作为卖出点,他赚的钱也不会比现在的价格多。栈尾减去栈头是最大利润(因为是单调递增栈,所以栈头就是最低买入价格)。之后,清空栈,因为不允许同时持有多个股票
- 如果大于栈尾,直接push入栈。
- 记住遍历完之后,如果栈大小大于1,用栈尾减去栈头获取最后一比利润。
- 对于每一个价格
- 单调递增栈(正向遍历数组)
- 贪心算法
- 这个可太厉害了,实现了我单调栈的功能
- 无脑当前减去前一个的价格,如果连续两个差大于0,相当于两天前买入,今天卖出,因为差是加起来的。
309. 最佳买卖股票时机含冷冻期