当前位置: 首页 > news >正文

122. 买卖股票的最佳时机 II-day32

由于交易次数不限,因此可以执行任意次交易。规定一笔交易的时间跨度为从买入到卖出的总天数,如果一笔交易在第 i 天买入,在第 j 天卖出,其中 i≤j,则这笔交易的时间跨度是 j−i+1 天。由于时间跨度 1 天的交易的利润一定是 0,因此只考虑时间跨度大于 1 天的交易。

对于任意一笔时间跨度大于 2 天的交易,都可以在买入和卖出之间选择一个日期,在选择的日期先卖出后买入,则交易次数增加一次且这两笔交易的总利润与原始的一笔交易的利润相等。如果一笔交易在第 i 天买入,在第 j 天卖出,其中 j−i>1,则这笔交易的时间跨度大于 2 天,一定存在 k 满足 i<k<j,可以将这笔交易转换成两笔交易:在第 i 天买入,在第 k 天卖出;在第 k 天买入,在第 j 天卖出。一笔交易的利润是 prices[j]−prices[i],两笔交易的利润是 (prices[k]−prices[i])+(prices[j]−prices[k])=prices[j]−prices[i],因此两笔交易的总利润与原始的一笔交易的利润相等。
因此问题转换成:对于给定的数组 prices,分别考虑其每个长度为 2 的子数组,判断每个子数组是否需要执行一笔时间跨度 2 天的交易。可以使用贪心策略计算最大利润。
用 n 表示数组 prices 的长度。对于每个 1≤i<n,考虑下标范围 [i−1,i] 的子数组,执行如下操作:如果 prices[i]>prices[i−1],则对于该子数组执行一笔时间跨度 2 天的交易,将总利润增加 prices[i]−prices[i−1];如果 prices[i]≤prices[i−1],则对于该子数组不执行时间跨度 2 天的交易,总利润不变。

遍历结束之后,总利润即为最大利润。

贪心策略的正确性说明如下。
根据上述分析,数组 prices 包含 n−1 个长度为 2 的子数组。定义每个子数组的元素差为后一个元素与前一个元素之差,则使利润最大化等价于在所有子数组中选择一个子集使得该子集的元素差之和最大。
对于每个长度为 2 的子数组,当子数组的元素差大于 0 时将元素差加到总利润,否则不更新总利润。如果不使用贪心策略,一定不可能得到更高的总利润。
class Solution { public int maxProfit(int[] prices) { int maximumProfit = 0; int n = prices.length; for (int i = 1; i < n; i++) { maximumProfit += Math.max(prices[i] - prices[i - 1], 0); } return maximumProfit; } }

http://www.jsqmd.com/news/482098/

相关文章:

  • 【电磁】基于matlab计算电阻率层析成像(ERT)表面和跨井(XBH)电极配置的2D和3D灵敏度分布【含Matlab源码 15173期】
  • L2-023 图着色问题
  • 打工人上班摸魚小說-第十五章 地铁、跟踪与再也甩不掉的影子
  • 不用公网 IP!cpolar 让 OpenClaw 随时随地在线
  • 打工人上班摸魚小說-第十六章 老K、背叛与再也无法信任的眼睛
  • 打工人上班摸魚小說-第十七章 逃亡、交易与再也醒不过来的清晨
  • 电科金仓深度解析:MySQL迁移的真实成本与工程化破局
  • 打工人上班摸魚小說-第十八章 车站、跟踪与三号站台的陌生人
  • PyTorch的CyclicLR详细介绍:给模型训练装上“涡轮增压”
  • 打工人上班摸魚小說-第十九章 录像、伪装与凌晨三点的末班车
  • 打工人上班摸魚小說-第二十章 雨夜、纸条与三个记者的名字
  • PyTorch的OneCycleLR详细介绍:解锁“超级收敛”的油门控制术
  • 20251912-孙哲皓-《网络攻防实践》第一周作业
  • 智能分析平台国产化架构:如何替换国外技术?(华为云实践)
  • 2026基准测试:8款顶配AI写作软件 底层架构横评,大模型时代的网文状态管理与引流管线
  • HTML5 知识笔记
  • 在治理的尽头,听见一次呼吸 ——岐金兰评肖刚《人工智能伦理治理研究》
  • 时序数据库选型:聚焦时间序列数据库Apache IoTDB——为工业物联网与大数据而生
  • 2000-2024年中国250m植被覆盖度数据
  • 大三下学校课程资料汇总
  • kafka为什么这么快
  • 2006-2024年上市公司董事网络位置关系数据、中心度结构洞数据
  • 【C语言】统计对称素数
  • 2017-2024年中国与世界各国新能源汽车进出口数据
  • 前端工程师的Agent开发实战指南I
  • 嘎嘎降AI和SpeedAI科研助手对比测评:知网检测谁更稳 - 还在做实验的师兄
  • ㋰責任 群论 体
  • 4348464
  • 从秒级到毫秒级:金仓数据库“连接条件下推“让复杂SQL性能飙升4500倍
  • 4345464