首页 >> 科技 >> 七爪源码:LeetCode 121. 买卖普通股的最佳时机 — Python 解决方案

七爪源码: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/小程序/网站开发人员海洋资源!

经常肚子疼拉肚子怎么回事
手术后吃什么补品好
骨坏死
芪斛楂颗粒
伤口一直不愈合
视力模糊眼干眼涩怎么办
家用血糖仪怎么选
教你一手
英太青止痛蓝白盒是什么
英太青对痛风有用吗
友情链接