代码随想录算法训练营第五十三天|309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费

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

cpp 复制代码
int maxProfit(int* prices, int pricesSize){
    int len = pricesSize;
    int dp[len][4];
    dp[0][0] = -prices[0];
    dp[0][1] = 0;
    dp[0][2] = 0;
    dp[0][3] = 0;
    for (int i = 1; i < pricesSize; i++)
    {
        dp[i][0] = fmax(dp[i-1][0], fmax(dp[i-1][1] - prices[i], dp[i-1][3] - prices[i]));
        dp[i][1] = fmax(dp[i-1][1], dp[i-1][2]);
        dp[i][2] = dp[i-1][0] + prices[i];
        dp[i][3] = dp[i-1][2];
    }
    return fmax(dp[len - 1][3], fmax(dp[len - 1][1], dp[len - 1][2]));
}

714. 买卖股票的最佳时机含手续费
相对122.买卖股票的最佳时机II ,本题只需要在计算卖出操作的时候减去手续费就可以了,代码几乎是一样的

cpp 复制代码
int maxProfit(int* prices, int pricesSize, int fee){
    int len = pricesSize;
    int dp[2][2];
    dp[0][0] = -prices[0];
    dp[0][1] = 0;
    for (int i = 1; i < len; i++)
    {
        dp[i%2][0] = fmax(dp[(i-1)%2][0], dp[(i-1)%2][1]-prices[i]);
        dp[i%2][1] = fmax(dp[(i-1)%2][1], prices[i] + dp[(i-1)%2][0] - fee);
    }
    return dp[(len-1)%2][1];
}
相关推荐
夏鹏今天学习了吗3 小时前
【LeetCode热题100(87/100)】最小路径和
算法·leetcode·职场和发展
哈哈不让取名字3 小时前
基于C++的爬虫框架
开发语言·c++·算法
不忘不弃4 小时前
模拟内存分配器1
c语言
Lips6115 小时前
2026.1.20力扣刷题笔记
笔记·算法·leetcode
2501_941329726 小时前
YOLOv8-LADH马匹检测识别算法详解与实现
算法·yolo·目标跟踪
洛生&6 小时前
Planets Queries II(倍增,基环内向森林)
算法
小郭团队6 小时前
1_6_五段式SVPWM (传统算法反正切+DPWM2)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·matlab·dsp开发
小郭团队6 小时前
1_7_五段式SVPWM (传统算法反正切+DPWM3)算法理论与 MATLAB 实现详解
开发语言·嵌入式硬件·算法·matlab·dsp开发
鱼跃鹰飞6 小时前
Leetcode347:前K个高频元素
数据结构·算法·leetcode·面试
bybitq6 小时前
LeetCode236-二叉树的最近公共祖先(LCA)问题详解-C++
算法·深度优先