动态规划算法-简单多状态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]);
    }
}
相关推荐
aaaameliaaa5 小时前
字符函数和字符串函数
c语言·笔记·算法
微学AI6 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
城管不管6 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
月疯6 小时前
二分法算法(水平等分图形面积)
算法
豆瓣鸡6 小时前
算法日记 - Day3
java·开发语言·算法
白白白小纯6 小时前
算法篇—反转链表
c语言·数据结构·算法·leetcode
Achou.Wang7 小时前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
韭菜炒鸡肝天7 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
The Chosen One9857 小时前
高进度算法模板速记(待完善)
java·前端·算法
Aaron - Wistron7 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#