news 2026/4/23 9:39:28

LeetCode 122 买卖股票的最佳时机 多笔交易贪心算法 C++进阶题解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 122 买卖股票的最佳时机 多笔交易贪心算法 C++进阶题解

大家好,今日打卡分享股票系列进阶算法题「买卖股票的最佳时机 II」。本题是121题的升级版本,核心从单次交易升级为允许多次买卖,是贪心算法进阶应用的经典题型,也是大厂笔试高频考点。

题目题意

给定股票每日价格数组,交易规则:

1. 可以无限次买入卖出股票
2. 任意时刻最多只能持有1股(必须先卖出才能再次买入)
3. 同一天可以多次买卖(无实际收益,不影响结果)
目标:计算可获取的最大总利润;无获利时返回0。

核心解题思路:贪心累加所有正差值

本题最优解法的核心逻辑非常巧妙:

- 股价上涨区间的利润,等价于所有相邻上涨差值的总和
- 例如: [1,3,5] 一次性买入卖出利润 = 5-1 = (3-1)+(5-3)
- 遍历所有相邻交易日,只要后一天价格更高,就累加利润差值;下跌区间直接跳过
全程仅一次遍历,时间复杂度O(n),空间复杂度O(1),是本题最优解法。

样例原理讲解

输入 prices = [7,1,5,3,6,4] :

- 相邻正差值: 5-1=4 、 6-3=3
- 总利润 = 4+3 = 7,与样例输出完全匹配
输入 prices = [1,2,3,4,5] :
- 所有相邻差值累加: 1+1+1+1 = 4 ,等价于一次性买卖利润

C++完整AC代码实现

class Solution {
public:
int maxProfit(vector<int>& prices) {
int profit = 0;
for(int i = 1; i < prices.size(); i++){
// 只累加上涨的利润,下跌利润取0
profit += max(prices[i] - prices[i-1], 0);
}
return profit;
}
};


算法考点总结

这道题是贪心思想的进阶应用:局部最优(每次上涨都获利)可以推导出全局最优(总利润最大)。
掌握这套「累加正差值」的模板,能快速区分单次/多次股票交易的解题差异,是动态规划、贪心算法入门的关键里程碑。

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

Windows Cleaner:你的Windows系统智能管家,告别C盘爆红卡顿烦恼

Windows Cleaner&#xff1a;你的Windows系统智能管家&#xff0c;告别C盘爆红卡顿烦恼 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为Windows电脑越用越慢…

作者头像 李华
网站建设 2026/4/23 9:36:15

保姆级图解:用Wireshark抓包实战分析PCIe链路训练全过程(LTSSM状态机)

从零开始&#xff1a;用Wireshark解码PCIe链路训练的每一个状态跳转 当两块PCIe设备首次相遇时&#xff0c;它们会经历一场精密的"握手仪式"——链路训练。这个过程就像两个陌生人初次见面时的试探与磨合&#xff0c;只不过发生在纳秒级的时间尺度上。本文将带你用Wi…

作者头像 李华
网站建设 2026/4/23 9:32:37

RK3588 开发实战:从零构建定制化Ubuntu根文件系统

1. RK3588开发环境搭建与准备工作 第一次接触RK3588开发板时&#xff0c;我被它强大的性能所震撼。这款采用ARM Cortex-A76/A55架构的处理器&#xff0c;不仅支持8K视频解码&#xff0c;还具备强大的AI加速能力。但在实际开发中&#xff0c;我发现官方提供的系统镜像往往无法满…

作者头像 李华
网站建设 2026/4/23 9:29:41

终极指南:5分钟搭建AO3镜像站点,突破网络访问限制

终极指南&#xff1a;5分钟搭建AO3镜像站点&#xff0c;突破网络访问限制 【免费下载链接】AO3-Mirror-Site 项目地址: https://gitcode.com/gh_mirrors/ao/AO3-Mirror-Site 当AO3突然无法访问&#xff0c;无数创作者和读者陷入困境时&#xff0c;AO3-Mirror-Site开源项…

作者头像 李华
网站建设 2026/4/23 9:24:17

Figma中文插件快速上手指南:3分钟让英文界面变中文的完整教程

Figma中文插件快速上手指南&#xff1a;3分钟让英文界面变中文的完整教程 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否在使用Figma时被满屏的英文术语困扰&#xff1f;"A…

作者头像 李华
网站建设 2026/4/23 9:10:16

Applite镜像配置实战指南:三分钟解决Homebrew下载难题

Applite镜像配置实战指南&#xff1a;三分钟解决Homebrew下载难题 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 你是否曾经在macOS上使用Homebrew安装软件时&#xff0c;面对…

作者头像 李华