动态规划算法-简单多状态dp问题:15.买卖股票的最佳时机含冷冻期

题目链接:309. 买卖股票的最佳时机含冷冻期(中等)

算法原理:

解法:动态规划

Java代码:

java 复制代码
/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 王洋
 * Date: 2025-10-20
 * Time: 20:18
 */
class Solution {
    //309.最佳买卖股票时机含冷冻期
    //吴小哲跟我写的一样
    //看完算法原理后自己写的,没注意到这个不用创建虚拟节点,第一次执行的时候,下标的映射关系错了
    public int maxProfit(int[] prices) {
        int n=prices.length;
        int[][] dp=new int[n][3];
        dp[0][0]=-prices[0];
        for(int i=1;i<n;i++){
            dp[i][0]=Math.max(dp[i-1][0],dp[i-1][1]-prices[i]);
            dp[i][1]=Math.max(dp[i-1][1],dp[i-1][2]);
            dp[i][2]=dp[i-1][0]+prices[i];
        }
        return Math.max(dp[n-1][1],dp[n-1][2]);
    }
}
相关推荐
专注VB编程开发20年2 分钟前
c#模仿内置 Socket.Receive(无需 out/ref,直接写回数据)
开发语言·c#
爱内卷的学霸一枚2 分钟前
Python并发编程与性能优化实战指南
开发语言·python·性能优化
jaysee-sjc4 分钟前
【项目二】用GUI编程实现石头迷阵游戏
java·开发语言·算法·游戏
元亓亓亓7 分钟前
LeetCode热题100--169. 多数元素--简单
算法·leetcode·职场和发展
一位搞嵌入式的 genius9 分钟前
从 URL 到渲染:JavaScript 性能优化全链路指南
开发语言·前端·javascript·性能优化
ID_180079054739 分钟前
Python结合淘宝关键词API进行商品数据挖掘与
开发语言·python·数据挖掘
天天进步201510 分钟前
Motia性能进阶与未来:从现有源码推测 Rust 重构之路
开发语言·重构·rust
星空下的月光影子10 分钟前
易语言开发从入门到精通:补充篇·办公+桌面自动化深度实战·Word/Excel/PDF联合处理·模拟键鼠·消息推送·定时任务调度
开发语言
兩尛10 分钟前
2. 两数相加 c++
开发语言·c++
闲人不梦卿15 分钟前
算法的特性
算法