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

目录

一、题目解析

二、算法原理

三、代码实现

cpp 复制代码
class Solution {
public:
    int maxProfit(vector<int>& prices) 
    {
        int n=prices.size();
        vector<vector<int>> dp(n,vector<int>(3));
        dp[0][0]=-prices[0];
        dp[0][1]=0;
        dp[0][2]=0;
        for(int i=1;i<n;i++)
        {
            dp[i][0]=max(dp[i-1][0],dp[i-1][2]-prices[i]);
            dp[i][1]=max(dp[i-1][0]+prices[i],dp[i-1][1]);
            dp[i][2]=max(dp[i-1][2],dp[i-1][1]);
        }
        return max(max(dp[n-1][0],dp[n-1][1]),dp[n-1][2]);

    }
};
相关推荐
夏鹏今天学习了吗1 小时前
【LeetCode热题100(82/100)】单词拆分
算法·leetcode·职场和发展
mit6.8242 小时前
mysql exe
算法
2501_901147832 小时前
动态规划在整除子集问题中的应用与高性能实现分析
算法·职场和发展·动态规划
中草药z3 小时前
【嵌入模型】概念、应用与两大 AI 开源社区(Hugging Face / 魔塔)
人工智能·算法·机器学习·数据集·向量·嵌入模型
踩坑记录3 小时前
leetcode hot100 189.轮转数组 medium
leetcode
知乎的哥廷根数学学派3 小时前
基于数据驱动的自适应正交小波基优化算法(Python)
开发语言·网络·人工智能·pytorch·python·深度学习·算法
ADI_OP3 小时前
ADAU1452的开发教程10:逻辑算法模块
算法·adi dsp中文资料·adi dsp·adi音频dsp·adi dsp开发教程·sigmadsp的开发详解
xingzhemengyou13 小时前
C语言 查找一个字符在字符串中第i次出现的位置
c语言·算法
Dream it possible!4 小时前
LeetCode 面试经典 150_二分查找_在排序数组中查找元素的第一个和最后一个位置(115_34_C++_中等)
c++·leetcode·面试
小六子成长记5 小时前
【C++】:搜索二叉树的模拟实现
数据结构·c++·算法