【动态规划】买卖股票的最佳时机Ⅲ

题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii/description/

cpp 复制代码
class Solution {
public:
    const int INF = 0x3f3f3f3f;
    int maxProfit(vector<int>& prices) 
    {
        /*时空复杂度O(n)*/
        int n = prices.size();
        // 1. 创建dp表
        vector<vector<int>> f(n, vector<int>(3, -INF));
        auto g = f;
        // 2. 初始化
        f[0][0] = -prices[0], g[0][0] = 0;
        // 3. 填表
        for (int i = 1; i < n; ++i)
            for (int j = 0; j < 3; ++j)
            {
                f[i][j] = max(f[i - 1][j], g[i - 1][j] - prices[i]);
                g[i][j] = g[i - 1][j];
                if (j >= 1) g[i][j] = max(g[i - 1][j], f[i - 1][j - 1] + prices[i]);
            }
        // 4. 返回值
        // return max(g[n - 1][0], max(g[n - 1][1], g[n - 1][2]));
        int ret = 0;
        for (int j = 0; j < 3; ++j)
            ret = max(ret, g[n - 1][j]);
        return ret;
    }
};
相关推荐
Figo_Cheung23 分钟前
Figo基于结构空间算法假设(SSAH)的生成式大模型优化范式与工程实现边界研究——提出适应AGI架构演化的自适应拓扑感知表征机制
算法·架构·agi
旖旎夜光1 小时前
LCR 170:交易逆序对的总数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
微尘hjx9 小时前
【ByteTrack 04】多轨迹算法ByteTrack改进点
算法·yolo·目标检测·目标跟踪·bytetrack·ultralytics·车跟踪
小蒋观天下13 小时前
雷击与浪涌防护:前端SPD选型、接地网误区,接地不当反而引入干扰
深度学习·算法·机器学习
WBluuue14 小时前
数据结构与算法:分块(一):块状数组、块状链表
数据结构·c++·算法·链表
澳鹏Appen16 小时前
澳鹏重磅发布ExamOCRBench:面向端到端试卷判分的多任务基准
算法·benchmark·基准评测
benjormin16 小时前
Java数据结构 二叉搜索树
数据结构·算法
人工智能培训16 小时前
知识图谱:结构化表达实体与关系的知识组织技术
大数据·人工智能·算法·重构·生活·知识图谱
地平线开发者16 小时前
QAT 实战:从 PyTorch 模型到 J6E 实板精度与延时验证
pytorch·算法·自动驾驶