【动态规划】按摩师

题目链接:https://leetcode.cn/problems/the-masseuse-lcci/

cpp 复制代码
class Solution {
public:
    int massage(vector<int>& nums) 
    {
        /*时空复杂度O(n)*/
        int n = nums.size();
        // 处理边界情况
        if (n == 0) return 0;
        // 1. 创建dp表
        vector<int> f(n);
        //vector<int> g(n);
        auto g = f;
        // 2. 初始化
        f[0] = nums[0];
        // 3. 填表
        for (int i = 1; i < n; ++i)
        {
            f[i] = g[i - 1] + nums[i];
            g[i] = max(f[i - 1], g[i - 1]);
        }
        // 4. 返回值
        return max(f[n - 1], g[n - 1]);
    }
};
相关推荐
ShineWinsu几秒前
对于C++中unordered_map的详细介绍
数据结构·c++·算法·面试·stl·哈希表·unordered_map
东东最爱敲键盘4 分钟前
day3.c++函数与预处理 string
c++·算法
七夜zippoe10 分钟前
基于 DolphinDB 构建全流程质量追溯体系:从原材料到成品的全链路追踪
大数据·人工智能·算法·全链路·dolphindb·质量追溯
rannn_11139 分钟前
【力扣hot100】238、41、73题解
java·算法·leetcode·开发
QN1幻化引擎43 分钟前
认知场的涌现动力学:结构证明、Phi度量与意识签名电池
人工智能·深度学习·神经网络·算法·机器学习·agi
坚持编程的菜鸟10 小时前
模拟实现memmove
c语言·算法·模拟实现memmove
wabs66611 小时前
关于图论【最短路径之Dijkstra算法(堆优化版)|卡码网47.参加科学大会的思考】
数据结构·算法·图论·优先级队列·邻接表·小顶堆·卡码网
坚持编程的菜鸟12 小时前
编写判断大小端程序
c语言·算法·判断大小端
papaofdoudou12 小时前
判断排列逆序奇偶性的乘积判别法(范德蒙德符号法)
人工智能·算法
linux-hzh12 小时前
百日算法修炼 · Day 03
java·算法