动态规划算法-简单多状态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]);
    }
}
相关推荐
Einsail6 小时前
天梯赛题解(3-6)
算法
杜子不疼.6 小时前
【LeetCode 852 & 162_二分查找】山脉数组的峰顶索引 & 寻找峰值元素
算法·leetcode·职场和发展
是一个Bug6 小时前
如何阅读JDK源码?
java·开发语言
山楂树の6 小时前
搜索插入位置(二分查找)
数据结构·算法
石头dhf6 小时前
大模型配置
开发语言·python
inferno6 小时前
JavaScript 基础
开发语言·前端·javascript
helloyangkl6 小时前
Draco——参数说明
算法
派大鑫wink6 小时前
【Day15】集合框架(三):Map 接口(HashMap 底层原理 + 实战)
java·开发语言
派大鑫wink6 小时前
【Day14】集合框架(二):Set 接口(HashSet、TreeSet)去重与排序
java·开发语言
!chen6 小时前
自适应滤波算法FPGA实现思路
算法·fpga开发