news 2026/4/18 7:57:51

LeetCode122. 买卖股票的最佳时机 II:贪心策略实现最大利润

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode122. 买卖股票的最佳时机 II:贪心策略实现最大利润

在股票交易类算法题中,力扣122题「买卖股票的最佳时机 II」是经典的贪心算法应用场景。这道题的核心要求是:允许在任意天数买入和卖出股票(可多次交易),求能获得的最大利润。本文将从题目分析、思路推导、代码实现到复杂度分析,完整拆解这道题的最优解法。

一、题目理解

题目描述

给你一个整数数组 `prices` ,其中 `prices[i]` 表示某支股票第 `i` 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润 。

核心规则拆解

题目隐含的最优交易策略可以简化为:

  • 从第2天开始,若当天股价 > 前一天股价,说明存在盈利空间:在前一天买入,当天卖出,赚取差价;

  • 若当天股价 ≤ 前一天股价,无盈利空间,不进行任何操作;

  • 所有上涨交易日都进行买卖,下跌/持平交易日不操作,最终利润即为最大值。

举个直观例子:

假设 `prices = [7,1,5,3,6,4]`,交易过程如下:

  • 第2天(价格1)< 第1天(价格7)→ 不操作;

  • 第3天(价格5)> 第2天(价格1)→ 买入第2天、卖出第3天,利润 `5-1=4`;

  • 第4天(价格3)< 第3天(价格5)→ 不操作;

  • 第5天(价格6)> 第4天(价格3)→ 买入第4天、卖出第5天,利润 `6-3=3`;

  • 第6天(价格4)< 第5天(价格6)→ 不操作;

  • 总利润:`4+3=7`,为该案例的最大利润。

二、解题思路:贪心算法

贪心策略核心

贪心算法的关键是「局部最优推导全局最优」。对于本题,每天的最优决策就是:只要当天股价比前一天高,就赚取这部分差价;否则不操作。把所有单日的正差价累加,最终结果就是全局最大利润。

思路推导

  1. 初始化利润 `profit = 0`;

  2. 遍历股价数组(从第2天开始,即索引1);

  3. 对于每个交易日 `i`,计算 `prices[i] - prices[i-1]`:

    1. 若差值 > 0,说明盈利,将差值加入总利润;

    2. 若差值 ≤ 0,说明无盈利,跳过;

  4. 遍历结束后,总利润即为最大值。

三、代码实现

完整代码实现(Java)

class Solution { public int maxProfit(int[] prices) { int ans = 0; for (int i = 1; i < prices.length; i++){ if(prices[i] > prices[i-1]){ ans += prices[i] - prices[i-1]; } } return ans; } }

四、复杂度分析

时间复杂度

遍历一次股价数组,遍历次数为 `n-1`(`n` 为数组长度),因此时间复杂度为O(n)。

空间复杂度

仅使用了常量级的额外空间,未开辟新的数组或容器,因此空间复杂度为O(1)

总结

  1. LeetCode122题的核心解法是贪心算法,通过“累加所有单日正差价”实现全局最大利润;

  2. 算法时间复杂度O(n)、空间复杂度O(1),是理论最优解;

  3. 贪心策略的关键是“局部最优”:只要当天股价比前一天高,就赚取该部分差价,最终累加结果即为全局最优。

这道题的核心启示是:在允许多次交易的股票问题中,无需纠结“长期持有”,抓住每一次短期盈利的机会,最终就能获得最大收益。这种“见好就收”的贪心思路,也是算法中局部最优推导全局最优的典型应用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:05:05

技术前沿!提示工程架构师提升AI提示质量的创新思路

技术前沿&#xff01;提示工程架构师提升AI提示质量的6大创新思路——从「Prompt工匠」到「AI协作设计师」的蜕变 一、引言&#xff1a;你还是“Prompt调参侠”吗&#xff1f; 凌晨2点&#xff0c;你盯着电脑屏幕上的AI输出&#xff0c;第17次修改Prompt—— “帮我写一篇面向…

作者头像 李华
网站建设 2026/4/16 11:53:20

考试云:在线答题系统,构建一体化赛事解决方案

在数字化转型的浪潮中&#xff0c;传统的纸质考试模式正逐渐被更加高效、便捷、公正的在线考试方式所取代。特别是在教育、企业培训、政府机关、职业认证等领域&#xff0c;如何借助信息化手段实现测评流程的智能化与标准化&#xff0c;已成为各行各业关注的重点。考试云在线考…

作者头像 李华
网站建设 2026/4/12 17:39:18

从出题到成绩:在线笔试系统如何提升 HR 招聘效率?

在人才竞争白热化的当下&#xff0c;招聘效率与质量直接决定企业核心竞争力。传统线下笔试模式长期以来积累的诸多痛点&#xff0c;如组织成本高企、异地招聘受阻、公平性难以保障等&#xff0c;已成为 HR 部门高效选才的 “拦路虎”。数字化转型浪潮下&#xff0c;在线笔试系统…

作者头像 李华
网站建设 2026/4/13 13:44:19

软件测试环境搭建及测试过程(超详细整理)

1.软件测试环境搭建 思考&#xff1a; 在什么条件下做软件测试&#xff1f; 怎么做软件测试&#xff1f; 1.1 搭建测试环境前 确定测试目的 功能测试&#xff08;验证软件是否满足用户的需求&#xff09;&#xff0c;稳定性测试&#xff0c;还是性能测试&#xff08;软件的…

作者头像 李华
网站建设 2026/3/19 9:28:11

AI驱动的测试革命:电商巨头的效率跃迁之路

在电商行业的高压环境中&#xff0c;测试团队面临版本迭代快、线上故障容忍度低的双重挑战。传统测试方法难以应对亿级流量的复杂场景&#xff0c;而AI技术的引入正彻底重构测试流程。 一、效率突破&#xff1a;测试用例生成的AI化变革 测试用例设计是耗时重灾区&#xff0c;…

作者头像 李华