课程名称:JavaScript版数据结构与算法
课程章节:第14章 算法设计思想之“贪心算法”
主讲老师:lewis
课程内容:
今天学习的内容包括:
14-3 LeetCode:122. 买卖股票的最佳时机 II——简单说就是只顾眼前,不做长远打算,寻求最短时间内的最优解,已解决最终问题。
14-4 贪心算法-章节总结——贪心算法有应用场景,也有不适合的场景,并不一定是最优解。
14-5 【勤于思考,夯实学习成果】阶段思考题——完成对应题目。
课程收获:
122. 买卖股票的最佳时机 II
解题思路
- 前提:上帝视角,知道未来的价格。
- 局部最优:见好就收,见差就不动,不做任何长远打算。
解题步骤
- 新建一个变量,用来统计总利润。
- 遍历价格数组,如果当前价格比昨天高,就在昨天买,今天卖,否则就不交易。
- 遍历结束后,返回所有利润之和。
性能分析
- 时间复杂度:O(n)。
- 空间复杂度:O(1)。
章节总结
贪心算法是什么?
- 贪心算法是算法设计中的一种方法。
- 期盼通过每个阶段的局部最优选择,从而达到全局的最优。
- 结果并不一定是最优。
今天 通过 贪心算法 学习了 买卖股票的最佳时机 II,贪心算法就是见好就收,求局部的最优解,不考虑整体,所以得到的解不一定是最优解。对自己说一句,加油😀~
坚持打卡,坚持学习!明天见💪~