买卖股票的最佳时期含冷冻期(leetcode)

个人主页:Lei宝啊

愿所有美好如期而遇


也就有这样的状态转移方程:

  • 买入:dp[i][0] = max(dp[i-1][1] - prices[i], dp[i-1][0]);
  • 可买入:dp[i][1] = max(dp[i-1][1], dp[i-1][2]);
  • 冷冻期:dp[i][2] = dp[i-1][0] + prices[i];
cpp 复制代码
class Solution 
{
public:
    int maxProfit(vector<int>& prices) 
    {
        vector<vector<int>> dp(prices.size(), vector<int>(3));
        dp[0][0] = -prices[0];

        for(int i=1; i<prices.size(); i++)
        {
            dp[i][0] = max(dp[i-1][1] - prices[i], dp[i-1][0]);
            dp[i][1] = max(dp[i-1][1], dp[i-1][2]);
            dp[i][2] = dp[i-1][0] + prices[i];
        }

        int ret = max(dp[prices.size()-1][1], dp[prices.size()-1][2]);
        return ret;
    }
};
相关推荐
想跑步的小弱鸡3 小时前
Leetcode hot 100(day 3)
算法·leetcode·职场和发展
xyliiiiiL5 小时前
ZGC初步了解
java·jvm·算法
爱的叹息5 小时前
RedisTemplate 的 6 个可配置序列化器属性对比
算法·哈希算法
独好紫罗兰6 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
每次的天空7 小时前
Android学习总结之算法篇四(字符串)
android·学习·算法
请来次降维打击!!!7 小时前
优选算法系列(5.位运算)
java·前端·c++·算法
qystca7 小时前
蓝桥云客 刷题统计
算法·模拟
别NULL7 小时前
机试题——统计最少媒体包发送源个数
c++·算法·媒体
weisian1518 小时前
Java常用工具算法-3--加密算法2--非对称加密算法(RSA常用,ECC,DSA)
java·开发语言·算法
程序员黄同学9 小时前
贪心算法,其优缺点是什么?
算法·贪心算法