七爪源码: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-09投资者提问:董秘您好!脱口而出日前公司公告关于与南非 Emfuleni 市政府...
- 05-09北京台央视:颂出关于春天、关于城市的赞美诗
- 05-09A股市场本周行情预判及重大事件提醒
- 05-09自然惨剧动图,看到第3张就受不了了!
- 05-09博创科技(300548.SZ)预估2021年度归母净利同比增长63.92%-97.83%
- 05-09七大卫视大年初一拼收视,北京卫视阵容豪华,东方卫视看点足
- 05-09劝告大家:大扫除时家里这些物品,该扔就扔,不要舍不得
- 05-09日出东方(603366.SH):董事、常务董事成彦龙先生不幸去世
- 05-0947岁林志玲刊文宣布生子,一家三口同出镜,结婚两年终得子
- 05-09长三角(沪浙皖)联盟地区药品比较大带量采购正式来袭