动态规划专练:力扣第309、714题

发布时间:2026/8/13 11:41:14

动态规划专练:力扣第309、714题
力扣第309题-最佳买卖股票时机含冷冻期1.本题相比于力扣第122题-买卖股票的最佳时机Ⅱ区别仅在于卖出后距离下一次买入之间存在1天的冷冻期反映到递推公式上便是持有股票状态的最大金额需要取“昨天仍持有股票的最大金额dp[1][0]”和“前天甚至以前就已经卖掉股票后今天买入的最大金额dp[0][1] - prices[i]”中的较大值递推公式为dp[2][0] fmax(dp[1][0], dp[0][1] - prices[i])。未持有股票状态的最大金额递推公式保持不变。完整代码如下1. int maxProfit(int* prices, int pricesSize) { 2. // 数组长度为1无法完成交易利润为0 3. if (pricesSize 1) return 0; 4. 5. // dp[i][0]第i天持有股票的最大利润 6. // dp[i][1]第i天不持有股票的最大利润 7. // dp滚动数组dp0代表i-2天dp1代表i-1天dp2代表i天冷冻期股票问题 8. int dp[3][2]; 9. // 初始化第0天状态 10. dp[0][0] -prices[0]; 11. dp[0][1] 0; 12. // 初始化第1天状态 13. dp[1][0] fmax(dp[0][0], -prices[1]); 14. dp[1][1] fmax(dp[0][1], dp[0][0] prices[1]); 15. 16. // 从第2天开始遍历价格 17. for (int i 2; i pricesSize; i){ 18. // 当天持有前一天就持有 或 两天前不持有冷冻期已过今天买入 19. dp[2][0] fmax(dp[1][0], dp[0][1] - prices[i]); 20. // 当天不持有前一天就不持有 或 前一天持有今天卖出 21. dp[2][1] fmax(dp[1][1], dp[1][0] prices[i]); 22. 23. // 滚动更新状态向前移位 24. dp[0][0] dp[1][0]; 25. dp[0][1] dp[1][1]; 26. dp[1][0] dp[2][0]; 27. dp[1][1] dp[2][1]; 28. } 29. 30. // 最终最大利润一定是不持有股票的状态 31. return dp[1][1]; 32. }该算法时间复杂度为O(n)空间复杂度为O(1)。力扣第714题-买卖股票的最佳时机含手续费1.本题相比于力扣第122题-买卖股票的最佳时机Ⅱ区别仅在于每次卖出多了一个手续费fee那只需要在未持有股票状态的递推公式中将“今天卖出股票”这一项的现金多减去fee即可。未持有股票状态递推公式为dp[1][1] fmax(dp[0][1], dp[0][0] prices[i] - fee)。完整代码如下1. int maxProfit(int* prices, int pricesSize, int fee) { 2. // dp[0][0]前一天持有股票的最大利润 3. // dp[0][1]前一天不持有股票的最大利润 4. // dp[1][0]当天持有股票的最大利润 5. // dp[1][1]当天不持有股票的最大利润 6. int dp[2][2]; 7. // 初始化第0天状态 8. dp[0][0] -prices[0]; 9. dp[0][1] 0; 10. 11. for (int i 0; i pricesSize; i){ 12. // 当天持有之前就持有或前一天无股今天买入 13. dp[1][0] fmax(dp[0][0], dp[0][1] - prices[i]); 14. // 当天无股之前就无股或前一天持股今天卖出卖出扣除手续费fee 15. dp[1][1] fmax(dp[0][1], dp[0][0] prices[i] - fee); 16. 17. // 滚动更新前一天状态为当日状态供下一轮循环使用 18. dp[0][0] dp[1][0]; 19. dp[0][1] dp[1][1]; 20. } 21. 22. // 最大利润一定是不持有股票的状态 23. return dp[0][1]; 24. }该算法时间复杂度为O(n)空间复杂度为O(1)。2.本题也可以使用贪心算法。因为买了股票之后一定是卖出之后才会获益所以可以将实际买入价格buy等价于“价格 手续费”即prices[0] fee。1遍历数组如果当前价格prices[i]大于buy就卖出获得prices[i] – buy的利润。但此时卖出只是局部最优可能不是全局最优所以应提供一个反悔操作将buy更新为prices[i]这样一来如果第二天股票价格继续上升就会额外获得prices[i 1] - prices[i]的利润两天的利润相加后得到的便是真实利润。2如果当前价格加上手续费prices[i] fee仍小于buy那不如在今天购买此时支出最少。3.基于以上思想写出的完整代码如下1. int maxProfit(int* prices, int pricesSize, int fee) { 2. // buy记录买入成本买入价格手续费 3. int buy prices[0] fee; 4. // res累计总利润 5. int res 0; 6. 7. for (int i 1; i pricesSize; i){ 8. // 当前价格高于持仓成本卖出获利 9. if (prices[i] buy){ 10. res prices[i] - buy; 11. // 更新持仓价为当前价等价当天卖出又买回后续涨价可连续累加利润 12. buy prices[i]; 13. } 14. // 当前价格手续费比现有持仓成本更低更新更低买入点 15. else if (prices[i] fee buy){ 16. buy prices[i] fee; 17. } 18. } 19. 20. return res; 21. }该算法时间复杂度为O(n)空间复杂度为O(1)。

相关新闻

WiCi无线计算接口:构建家庭分布式计算资源池的技术实践

WiCi无线计算接口:构建家庭分布式计算资源池的技术实践

2026/8/13 11:41:14

那天下午,我在调试一个本地大模型推理任务,看着GPU占用率从99%瞬间跌到0%,然后风扇声渐息,心里突然冒出一个念头:我们是不是把“计算”这件事,想得太“个人”了? 家里的台式机、公司的服务器、…

3分钟一键解决:Windows装不上ADB驱动,就用这款免费ADB Fastboot安装工具

3分钟一键解决:Windows装不上ADB驱动,就用这款免费ADB Fastboot安装工具

2026/8/13 11:41:14

3分钟一键解决:Windows装不上ADB驱动,就用这款免费ADB Fastboot安装工具 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://…

遥感影像数据管理方案测评:Oracle GeoRaster、PostGIS、数简影像基础平台横向对比

遥感影像数据管理方案测评:Oracle GeoRaster、PostGIS、数简影像基础平台横向对比

2026/8/13 11:41:14

一、测评背景与范围 当前,自然资源、生态环保、商业航天及测绘卫星中心等单位普遍面临海量分幅遥感影像(单景 100 MB~数 GB)的管理难题:本地文件散存、人工检索分发效率低,多源投影不一致,按需…

WVP-GB28181-Pro开源国标视频平台实测:7个步骤把多品牌摄像头统一接入一个后台

WVP-GB28181-Pro开源国标视频平台实测:7个步骤把多品牌摄像头统一接入一个后台

2026/8/13 12:51:16

WVP-GB28181-Pro开源国标视频平台实测:7个步骤把多品牌摄像头统一接入一个后台 【免费下载链接】wvp-GB28181-pro 基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品…

Havenlon | 杂谈:AI革命真正的拐点:岗位压缩开始跑赢岗位创造

Havenlon | 杂谈:AI革命真正的拐点:岗位压缩开始跑赢岗位创造

2026/8/13 12:51:16

AI时代,岗位消失的速度,第一次快过岗位创造的速度每一轮技术浪潮,人类都会问同一个问题:机器会不会抢走工作。蒸汽机时代问过,流水线时代问过,计算机与互联网时代也问过。答案总是让人安心:马车…

鸿蒙动态能力注册表:从静态集成到运行时发现的架构演进

鸿蒙动态能力注册表:从静态集成到运行时发现的架构演进

2026/8/13 12:51:16

1. 从“工具”到“能力”:一次开发范式的转变在鸿蒙应用开发中,我们经常需要集成各种功能模块,比如一个图片裁剪组件、一个二维码扫描模块,或者一个自定义的支付SDK。传统的做法是什么?通常,我们会把这些模…

Source Sans 3 字体完整落地指南:免费开源字体从安装到网页优化

Source Sans 3 字体完整落地指南:免费开源字体从安装到网页优化

2026/8/13 12:51:16

Source Sans 3 字体完整落地指南:免费开源字体从安装到网页优化 【免费下载链接】source-sans Sans serif font family for user interface environments 项目地址: https://gitcode.com/gh_mirrors/so/source-sans 做界面设计时,选字体常常比写代…

论文AI检测率过高?3大原理与工具助你降低AI率

论文AI检测率过高?3大原理与工具助你降低AI率

2026/8/13 12:51:16

1. 论文AI检测率过高的现状与应对策略 最近在学术圈和高校论坛上,一个现象引发广泛讨论:不少同学使用AI辅助工具完成论文初稿后,提交查重系统时发现"AI率"高达90%以上。这种情况轻则影响论文评分,重则可能被认定为学术不…

dbeaver的基础语句你要了解

dbeaver的基础语句你要了解

2026/8/13 12:41:16

❤️首先,dbeaver是2013年正式开源的,它基于javaeclip编写,是最主流的免费通用数据库客户端之一,学习dbeaver很重要哦。一.查看系统表select name from sqlite_master where type table order by name;二.查询语句单表查询语句写…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/13 11:01:28

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/11 8:44:43

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/11 15:57:54

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

2026/8/13 0:00:21

一、开篇:毛利率——电商运营最该盯但最难盯的指标 电商运营中有一个指标,几乎所有老板都会问,但几乎所有运营都回答得不够确定——毛利率。不是"店铺毛利率",而是"每条链接的毛利率""每个品类的毛利率…

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

2026/8/13 0:00:21

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代 一、为什么需要不停机发布? 传统发布方式:停服务 → 替换包 → 启服务。在内部系统里勉强能用,但在SaaS系统中是灾难。 我们的无人售货柜SaaS平台服务全国几千台设备&#…

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

2026/8/13 0:00:21

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案 前言 大家好,我是黒漂技术佬。 线上出 Bug 这种事,就像你正吃着火锅唱着歌,突然接到电话说"柜子门打不开了"。炸不炸?慌不慌?别急&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…