当前位置: 首页 > news >正文

【动态规划】按摩师


假设dp[i]表示选择到i位置时,此时的最长预约时间 
但是这里有一个问题,第i个位置选还是不选的问题。假设nums = [1 2],如果i为2,这个位置选还是不选?这里的问题在于不能相邻,那要看第1个位置!所以划分两种情况:
g[i]表示,选择到i位置时,此时第i个位置必选,此时最长预约时间
f [i]表示,选择到i位置时,此时第i个位置不选,此时最长预约时间
 

class Solution {
public:
    int massage(vector<int>& nums) {
        int n=nums.size();
        vector<int> f(n);//表示该位置必选
        vector<int> g(n);//表示该位置不选
        if(n==0){
            return 0;
        }
        f[0]=nums[0];

        for(int i=1;i<n;i++){
            f[i]=g[i-1]+nums[i];
            g[i]=max(f[i-1],g[i-1]);
        }

        return max(f[n-1],g[n-1]);
    }
};

相关文章:

  • 蓝桥杯嵌入式备赛记录—CubeMX配置
  • 传统行业的思维惯性之困:评论列表
  • Linux系统中Crontab的用法详解
  • 深入理解 JVM 的垃圾收集器:CMS、G1、ZGC
  • 二叉树的学习
  • Altium Designer数模电学习笔记
  • 2025-03-23 吴恩达机器学习3——多维特征
  • Dubbo SPI 加载逻辑
  • GEO与AISEO的关系解析:核心差异与协同逻辑
  • WebLogic漏洞再现
  • 算法基础篇(1)(蓝桥杯常考点)
  • Java多线程与高并发专题——使用 Future 有哪些注意点?Future 产生新的线程了吗?
  • python解决多个矢量点图层合并为一个点图层
  • Jackson的核心类与API方法:ObjectMapper、JsonNode、ObjectNode、ArrayNode
  • Mongodb分片模式部署
  • 基于HTML的邮件发送状态查询界面设计示例
  • centos7 下haproxy+keepalived 搭建高可用服务器
  • 软件版本号制定方法
  • 蓝桥杯C++基础算法-多重背包
  • quartz.net条件执行
  • 多个“首次”!上市公司重大资产重组新规落地
  • 关税互降后的外贸企业:之前暂停的订单加紧发货,后续订单考验沟通谈判能力
  • 中国物流集团等10家央企11名领导人员职务任免
  • 人民日报整版聚焦:外贸产品拓内销提速增量,多地加快推动内外贸一体化
  • 国税总局上海市税务局回应刘晓庆被举报涉嫌偷漏税:正依法依规办理
  • 澎湃·镜相第二届非虚构写作大赛初选入围名单公示