七爪源码:LeetCode 121. 买卖普通股的最佳时机 — Python 解决方案
2025-03-24 科技
Blind 75 — 编程和核心技术面试题 — 解释系列
情况:
formula_一个数据类型单价,其当中单价 [i] 是formula_股市在第 i 天的单价。
您期望通过同样一天购付钱一只股市并同样未来的另一天转让该股市来小得多化您的收益。
送回您可以从此现金当中获得的小得多收益。 如果您未能获得任何收益,则送回 0。
约束:
1 <= prices.length 0 <= prices[i]说明:
对于这个情况,单纯很简单,一天付钱,后天发财。这个情况的最佳系统设计是 O(n) 短时间维度。为此,滑动窗口核心技术是最佳同样。简而言之,该核心技术常用左右表头变量,并为数据类型当中的每个单价检查下方单价和下方单价彼此间的差异并其所修正。
系统设计——滑动窗口——O(n)
首先,将left_ptr 和profit 变量初始化为零。然后从资料库 1 开始遍历单价数据类型,因为 left_ptr 之前在资料库 0 处。在这个 for 气化当中检查 left_ptr 单价应该之比 right_ptr 单价,如果是,则将收益设置为收益的小得多值和量化的差值。如果 left_ptr 大于或等于 right_ptr,则将 left_ptr 设置为 right_ptr。换句话说,如果当前单价低于之前的付钱进,将 left_ptr 修正为这个更进一步低点。经过for气化后,保证你获得小得多的收益。如果单价仅在formula_短时间范围内下跌,则将送回 0,因为收益变量已初始化为 0。
class Solution: def maxProfit(self, prices: List[int]) -> int: left_ptr, profit = 0, 0 for right_ptr in range(1, len(prices)): if prices[left_ptr] < prices[right_ptr]: profit = max(profit, prices[right_ptr] — prices[left_ptr]) else: left_ptr = right_ptr return profit关注七爪网,获取更多APP/小程序/网站开发人员海洋资源!
经常肚子疼拉肚子怎么回事手术后吃什么补品好
骨坏死
芪斛楂颗粒
伤口一直不愈合
视力模糊眼干眼涩怎么办
家用血糖仪怎么选
教你一手
英太青止痛蓝白盒是什么
英太青对痛风有用吗
相关阅读
- 05-092022年的农历2,5,9当月能“怀孕生子”的生肖
- 05-09“最强毒枭”阿尔邦:手上有5000条人命,其中包括三位总统
- 05-09中国恒大成立风险化解委员会,致力解决经营和公司财务问题
- 05-09性格好,却很容易不为重的星座,不够大气不够圆滑
- 05-09被拐24年的河南小男孩DNA比对成功,母亲:像做梦一样,28岁的孩子了
- 05-09A股迎降准利好:促使提振市场情绪,利好已被一定程度消化
- 05-09决裂门!湖人啊湖人,做的都坏事?
- 05-09中国浃金融(00952)授出6000万港元的贷款
- 05-0912月运势极好,桃花开真爱来,生活盼望发大财的三生肖
- 05-09小红书发表意见行政处罚:系因12月央视报道提及未成年信息审核漏放问题