首页/新闻资讯/正文详情

Leetcode 309. 买卖股票的最佳时机含冷冻期

发布时间:2026/11/5 13:48:44 来源:云帆数科 栏目:资讯中心
Leetcode 309. 买卖股票的最佳时机含冷冻期
心路历程这道题的建模和股票问题一样只不过需要在状态上增加一个处于冻结期状态1第i天2第i天持有股票的状态持有不持有被冻结不持有未被冻结动作买入、卖出、不操作返回值当前状态下的收益注意的点1、注意思考清楚所有的状态转移情况当第i天处于持有状态时第i-1天可能有两个状态不持有不冻结or持有;2、最后一天一定是手里不持有收益最大所以是max(dp(n-1, 0), dp(n-1, 1))而不是max(dp(n-1, 0), dp(n-1, 1), dp(n-1, 2)).解法动态规划DP数组classSolution:defmaxProfit(self,prices:List[int])-int:nlen(prices)ifn0:return0dp[[0,0,0]for_inrange(n)]# 持有不持有冻结不持有不冻结dp[0][0]-prices[0]# 状态转移受限foriinrange(1,n):dp[i][0]max(dp[i-1][0],dp[i-1][2]-prices[i])dp[i][1]dp[i-1][0]prices[i]dp[i][2]max(dp[i-1][1],dp[i-1][2])returnmax(dp[n-1][0],dp[n-1][1],dp[n-1][2])递归classSolution:defmaxProfit(self,prices:List[int])-int:cachedefdp(i,j):# j 0 1 2 : 不持有不冻结 不持有冻结 持有ifi0andj0:return0elifi0andj1:return0elifi0andj2:return-prices[0]# 假设从-1时刻转移过来那就是买了0位置的股票ifj0:returnmax(dp(i-1,0),dp(i-1,1))elifj1:returndp(i-1,2)prices[i]# 注意分清递推的方向和状态转移的方向else:returnmax(dp(i-1,2),dp(i-1,0)-prices[i])returnmax(dp(len(prices)-1,0),dp(len(prices)-1,1))classSolution:defmaxProfit(self,prices:List[int])-int:nlen(prices)ifn0:return0cachedefdp(i,j):# 第i天的状态j \in {0 ,1 ,2} 代表不持有且无冻结、不持有被冻结、持有ifi0andj2:return-prices[i]elifi0andj1:return0ifj0:returnmax(dp(i-1,0),dp(i-1,1))elifj1:returndp(i-1,2)prices[i]else:returnmax(dp(i-1,0)-prices[i],dp(i-1,2))# 这块少考虑了一种情况returnmax(dp(n-1,0),dp(n-1,1))

相关推荐

Xournal++:免费开源手写笔记终极指南,PDF批注与几何绘图全掌握
Xournal++:免费开源手写笔记终极指南,PDF批注与几何绘图全掌握

Xournal:免费开源手写笔记终极指南,PDF批注与几何绘图全掌握 【免费下载链接】xournalpp Xournal is a handwriting notetaking software with PDF annotation support. Written in C with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), m… · 2026/9/21 10:45:15

如何在Windows 11上完美运行经典游戏:DDrawCompat终极兼容解决方案
如何在Windows 11上完美运行经典游戏:DDrawCompat终极兼容解决方案

如何在Windows 11上完美运行经典游戏:DDrawCompat终极兼容解决方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirro… · 2026/10/6 12:43:02

操作系统:AI与未来IT的隐形基石
操作系统:AI与未来IT的隐形基石

1. 操作系统:AI与未来IT的隐形基石在科技行业里,我们常常被各种炫目的AI应用和前沿技术吸引眼球,却很少有人注意到那个默默支撑着这一切的基础设施——操作系统。就像一栋摩天大楼的地基,操作系统虽然不显眼,却决定了上… · 2026/8/9 2:43:46

基于ADS122U04IPWR与STM32F427ZI的工业测温方案设计
基于ADS122U04IPWR与STM32F427ZI的工业测温方案设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 13:22:54

SSM超市管理系统实战:从课设跑通到二次开发全解析
SSM超市管理系统实战:从课设跑通到二次开发全解析

简介:这份资源是面向高校计算机相关专业学生与Java入门开发者的SSM课程设计参考项目,围绕超市管理场景,解决商品、库存、销售等业务模块从设计到落地的实践需求,适合作为课程作业、毕业设计原型或SSM框架练手案例。压缩包共792个文… · 2026/11/5 13:18:49

SSM超市管理系统源码解析:从分层架构到本地部署与业务修改
SSM超市管理系统源码解析:从分层架构到本地部署与业务修改

简介:这份资源是面向高校计算机专业学生与Java初学者的一套SSM框架课程设计完整项目,围绕超市管理场景,帮助读者完成从框架整合到业务模块落地的实战练习,适合作为毕业设计或课程作业的参考方案。压缩包共792个文件,约… · 2026/11/5 13:17:48

Dubbo服务下线实时告警:基于ZooKeeper Watch的轻量级监控方案
Dubbo服务下线实时告警:基于ZooKeeper Watch的轻量级监控方案

简介:这是一套面向Java分布式系统运维与开发人员的Dubbo服务高可用监控解决方案,聚焦于Provider异常下线的实时感知与告警响应。资源通过Zookeeper监听机制实现服务状态变更捕获,结合邮件通知模块,在不侵入原有Dubbo代码的前提下&… · 2026/11/5 13:15:46

PIPE4.3.0安装排错:JDK版本、JAVA_HOME与Petri验证
PIPE4.3.0安装排错:JDK版本、JAVA_HOME与Petri验证

简介:PIPE 4.3.0 是一款基于 Petri 网的图形化建模与仿真软件,面向软件工程、系统分析与教学实验场景,帮助读者完成并发、同步与竞争等系统行为的建模、动态仿真及性质分析。压缩包共 2391 个文件,约 28.43MB,包含大量… · 2026/11/5 13:12:45

用栈实现队列:双栈结构与工程实践
用栈实现队列:双栈结构与工程实践

1. 栈与队列的相爱相杀第一次看到这个题目时,我正坐在星巴克啃着牛角包。用栈实现队列?这就像用筷子喝汤——不是不行,但总觉得哪里怪怪的。栈和队列这对数据结构里的欢喜冤家,一个后进先出(LIFO)&#xff… · 2026/11/5 13:12:45

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:07

多智能体协作系统架构设计与实践优化
多智能体协作系统架构设计与实践优化

1. 多智能体协作系统的时代背景2017年Transformer架构的诞生彻底改变了人工智能的发展轨迹。当行业还沉浸在单一大模型带来的性能突破时,Anthropic的研究团队已经将目光投向了更前沿的领域——如何让多个智能体通过协作产生超越单体能力的系统智能。这就像交响乐团中… · 2026/11/5 0:00:39

大模型系统性入门实战指南:从原理到部署微调的全链路路线
大模型系统性入门实战指南:从原理到部署微调的全链路路线

提到大模型的系统性入门,我先说个结论:这事真不难,难的是资料太散、路线太多,今天这个框架明天那个工具,新人很容易在“收藏夹吃灰”和“教程看到一半放弃”之间反复横跳。市面上关于大模型的内容少说有几十万篇&#… · 2026/11/5 0:00:39

鸿蒙文件系统沙箱机制解析与开发实践
鸿蒙文件系统沙箱机制解析与开发实践

1. 鸿蒙文件系统沙箱机制深度解析作为一名从Android转向鸿蒙开发的工程师,我深刻体会到文件系统访问是迁移过程中最先遇到的"拦路虎"。在Android上运行良好的文件读写代码,在鸿蒙真机环境却频频出现文件写入后神秘消失或直接抛出权限拒绝错误的… · 2026/11/5 0:00:39

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:27:59

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:03

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/5 10:28:07

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码