代码随想录算法训练营第五十三天|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];
}
相关推荐
饭碗的彼岸one4 分钟前
C++ 并发编程:异步任务
c语言·开发语言·c++·后端·c·异步
脑洞代码9 分钟前
20250909的学习笔记
算法
Christo39 分钟前
TFS-2003《A Contribution to Convergence Theory of Fuzzy c-Means and Derivatives》
人工智能·算法·机器学习
黑菜钟17 分钟前
代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
c++·算法·leetcode
Yingjun Mo29 分钟前
1. 统计推断-ALMOND收敛性分析
人工智能·算法·机器学习
海梨花37 分钟前
CSP认证练习题目推荐 (1)
算法·深度优先·csp
水饺编程1 小时前
Windows 命令行:cd 命令3,当前目录,父目录,根目录
c语言·c++·windows·visual studio
天上的光1 小时前
大模型——剪枝、量化、蒸馏、二值化
算法·机器学习·剪枝
kyle~1 小时前
C/C++---动态内存管理(new delete)
c语言·开发语言·c++
pzx_0012 小时前
【LeetCode】14. 最长公共前缀
算法·leetcode·职场和发展