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

建站之星官网登陆谷歌ads

建站之星官网登陆,谷歌ads,樟木头镇网站建设公司,温州百度网站推广动态规划解决按摩师预约问题——以LeetCode面试题17.16为例 1.题目链接 LeetCode面试题17.16 按摩师 2.题目描述 一个有名的按摩师收到一系列的预约请求,每个预约都可以选择接受或不接受。但相邻的预约不能同时接受。给定一个包含各预约时长的数组 nums&#xf…

动态规划解决按摩师预约问题——以LeetCode面试题17.16为例

1.题目链接

LeetCode面试题17.16 按摩师

2.题目描述

一个有名的按摩师收到一系列的预约请求,每个预约都可以选择接受或不接受。但相邻的预约不能同时接受。给定一个包含各预约时长的数组 nums,求她能获得的最长总时间。若数组为空,返回0。

3.示例分析

示例1:
输入:[1,2,3,1]
输出:4
解释:接受第1个(时长1)和第3个(时长3)预约,总时长为1+3=4;或接受第2个(2)和第4个(1),总时长为3。因此最大值为4。

示例2:
输入:[2,7,9,3,1]
输出:12
解释:选择第1、3、5个预约,总时长2+9+1=12。

4.算法思路

动态规划状态定义:

  • f[i] 表示接受第 i 个预约时的最大总时长。
  • g[i] 表示不接受第 i 个预约时的最大总时长。

状态转移方程:

  1. 若接受第 i 个预约,则第 i-1 个必须未被接受:
    f[i] = g[i-1] + nums[i]
  2. 若不接受第 i 个预约,则第 i-1 个可接受或不接受:
    g[i] = max(f[i-1], g[i-1])

最终结果:
fg 数组最后一个元素的最大值,即 max(f[n-1], g[n-1])

5.边界条件与注意事项

  1. 空数组处理: 直接返回0。
  2. 单元素数组: 直接返回该元素值。
  3. 数组索引范围: 遍历时需从第2个元素(索引1)开始。
  4. 状态初始化: f[0] = nums[0](选第一个),g[0] = 0(不选第一个)。

6.代码实现

class Solution {
public:int massage(vector<int>& nums) {int n = nums.size();if(n == 0) return 0; // 空数组直接返回0vector<int> f(n), g(n);f[0] = nums[0]; // 初始化选第一个的情况g[0] = 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]); // 最终取最大值}
};

代码解析:

  • 时间复杂度: O(n),遍历数组一次。
  • 空间复杂度: O(n),使用两个数组存储状态;可优化为O(1)(用变量替代数组)。
  • 关键点: 通过动态规划维护两个状态,确保每一步的选择满足不相邻条件,最终得到全局最优解。
http://www.dtcms.com/wzjs/229510.html

相关文章:

  • 微信小程序开发教程书广州市网络seo外包
  • 东昌府网站建设公司线上线下整合营销方案
  • 松岗网站的建设百度爱采购推广怎么入驻
  • 手机网站页面最近国际时事热点事件
  • tob主题做电影网站网络营销案例2022
  • php和ASP网站那个好广告推广平台代理
  • 湖南省建设工程造价管理总站网站提高销售的10种方法
  • 重庆网站模板建站公司网络新闻发布平台
  • 网站建设百度优化b站入口2024已更新
  • web网站开发软件百度关键词优化多久上首页
  • 如何做免费网站推广文案怎么写
  • 网站建设现状和前景国际新闻最新消息今天军事新闻
  • 全网网站建设百度查询最火的关键词
  • 网站免费站学大教育培训机构电话
  • 注册网站后邮箱收到邮件福州百度快速优化排名
  • 美女做暖暖免费视频网站网络推广网站排名
  • 人力资源网站怎么做百度的合作网站有哪些
  • 网站排名软件 利搜seo短视频网页入口
  • 网站备案变更域名六年级下册数学优化设计答案
  • 京东优惠劵网站怎么做优化是什么意思?
  • 济宁做网站优化seo广州工作好吗
  • 网页首页管理系统seo基础入门教程
  • 莱阳网站制作郑州专业的网站公司
  • 手机端网站需要多少钱太原百度seo排名软件
  • 长沙市网站制作哪家好中国刚刚发生的新闻
  • 学校英文版网站建设方案一级域名生成二级域名
  • wpf做的网站关键词挖掘站网
  • 建设一网站要多少钱同城推广
  • 商务网站建设公司seo网站推广收费
  • 做网页做网站的技术人才全国疫情高峰感染高峰进度查询