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/10/12 23:39:35 阅读更多 →
如何在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/11 22:53:22 阅读更多 →
操作系统:AI与未来IT的隐形基石

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

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

2026/10/11 20:38:24 阅读更多 →

最新新闻

目标检测基石:R-CNN到Faster R-CNN进化详解

目标检测基石:R-CNN到Faster R-CNN进化详解

目标检测这个方向,这几年迭代很快,但要说真正的“奠基性”工作,绕不开R-CNN、Fast R-CNN、Faster R-CNN这一条线。现在不少做检测的工程师,包括我自己,最初就是靠啃这三篇论文上手的。哪怕今天工业界用的很多检测框架&…

2026/10/13 13:16:37 阅读更多 →
H3C桥接到物理口全攻略:虚拟化与交换机二层透传配置详解

H3C桥接到物理口全攻略:虚拟化与交换机二层透传配置详解

做网络运维和虚拟化的朋友,大概率都遇到过“H3C 桥接到物理口”这个需求。这句话在机房现场说出来的时候,通常是两种意思:一种是在虚拟化平台上把虚拟机的网卡桥接到宿主机物理网口,而这个物理网口刚好下联着一台 H3C 交换机&…

2026/10/13 13:16:37 阅读更多 →
Excel+Power BI数据分析实战:从数据清洗到可视化看板

Excel+Power BI数据分析实战:从数据清洗到可视化看板

Excel做数据分析这事儿,看着简单,真上手了坑不少。很多人一提到数据分析就想学Python、学SQL,其实职场上90%的分析需求,Excel加上Power BI就能扛下来。我说的不是那种拿鼠标点几个按钮就完事儿的基础操作,而是真正能拿…

2026/10/13 13:16:37 阅读更多 →
向量数据库大规模在线垃圾回收与 Compaction 调优实战

向量数据库大规模在线垃圾回收与 Compaction 调优实战

在以高频动态会话交互与实时商品图谱关联为主要特征的大促级多智能体(Multi-Agent)系统中,向量数据库(如 Milvus 2.4、Qdrant)承担着海量向量数据的实时更新(Upsert)与高频失效删除(…

2026/10/13 13:16:37 阅读更多 →
对称二叉树判断:递归与迭代的镜像匹配核心逻辑详解

对称二叉树判断:递归与迭代的镜像匹配核心逻辑详解

1. 先搞清楚这道题到底在考什么1.1 题目定位与常见误区对称二叉树这道题在 LeetCode 上编号 101,属于二叉树章节的经典入门题,同时也是“热门 100 题”里的常客。我印象里几乎所有大厂面试题库里都有它,而且往往不是考你能不能写出来&#xf…

2026/10/13 13:16:37 阅读更多 →
React Native鸿蒙适配实战:RN页面与鸿蒙提醒服务的系统能力桥接

React Native鸿蒙适配实战:RN页面与鸿蒙提醒服务的系统能力桥接

做鸿蒙适配做到第七个页面,CareTipsScreen算是我这轮项目里最头疼、也最有收获的一个。先说清楚它是什么:这是一款健康管理应用里的“每日护理建议”聚合页,用户每天打开应用,能看到系统按时间段推荐的护理建议,比如下…

2026/10/13 13:15:36 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/12 18:11:17 阅读更多 →