一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。

示例 1:

输入: [1,2,3,1]
输出: 4
解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。

示例 2:

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

示例 3:

输入: [2,1,4,5,3,1,1,3]
输出: 12
解释: 选择 1 号预约、 3 号预约、 5 号预约和 8 号预约,总时长 = 2 + 4 + 3 + 3 = 12。

示例代码:

class Solution(object):def massage(self, nums):""":type nums: List[int]:rtype: int"""n = len(nums)if n == 0:return 0a, b = 0, nums[0]for i in range(1, n):a1 = max(a, b)  #  计算dp[i][0]b1 = a + nums[i]  # 计算dp[i][1]a, b = a1, b1return max(a, b)

复杂度分析:

  • 时间复杂度:O(n),其中 nn 为预约的个数。我们有 2n 个状态需要计算,每次状态转移需要 O(1)的时间,所以一共需要 O(2n)=O(n) 的时间复杂度。
  • 空间复杂度:O(1),只需要常数的空间存放若干变量。

示例代码2:

class Solution(object):def massage(self, nums):""":type nums: List[int]:rtype: int"""a, b = 0, 0for num in nums:a, b = b, max(b, a+num)return b

按摩师-总预约时间最长相关推荐

  1. [Leedcode][JAVA][按摩师][动态规划]

    [问题描述] 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她不能接受相邻的预约.给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时 ...

  2. 面试题 17.16. 按摩师(简单题)

    题目描述: 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她不能接受相邻的预约.给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间 ...

  3. LeetCode-面试题 17.16:按摩师

    一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她不能接受相邻的预约.给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回 ...

  4. leetcode 按摩师

    一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她不能接受相邻的预约.给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回 ...

  5. 按摩师 python

    作者 18届 CYL 日期 2020-9-29 标签: 动态规划 Leecode 题目简介 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她 ...

  6. 蓝桥杯每日一练——按摩师

    按摩师https://leetcode-cn.com/problems/the-masseuse-lcci/ 题目描述: 一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预 ...

  7. LeetCode 面试题 17.16. 按摩师

    面试题 17.16. 按摩师 题目:一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接.在每次预约服务之间要有休息时间,因此她不能接受相邻的预约.给定一个预约请求序列,替按摩师找到最 ...

  8. winform响应时间最长是多少分钟_当詹姆斯退役时,他的总出场时间会达到多少分钟?...

    在勒布朗-詹姆斯进入他职业生涯的第17个年头之际,Bleacher Report将目光锁定在了这位四届MVP的身上,在度过即将到来的2019-20赛季以及剩余的名人堂职业生涯之后,他的多项数据在联盟历 ...

  9. spark SQL读取ORC文件从Driver启动到开始执行Task(或stage)间隔时间太长(计算Partition时间太长)且产出orc单个文件中stripe个数太多问题解决方案...

    1.背景: 控制上游文件个数每天7000个,每个文件大小小于256M,50亿条+,orc格式.查看每个文件的stripe个数,500个左右,查询命令:hdfs fsck viewfs://hadoop ...

最新文章

  1. 穷不可怕,可怕的是“穷人思维”
  2. 【转载】12306铁道部订票网站性能分析
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1075:药房管理
  4. 洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek
  5. 校友会2019中国大学计算机,校友会2019中国大学一流专业排名800强出炉,北大清华复旦前三...
  6. 洛谷——P3909 异或之积
  7. 一元线性回归(Linear Regression)
  8. 24位真彩色bmp图片转8位256色带调色板的bmp图
  9. 微信公众号 配网 airkiss配网 wifi配网
  10. (一)深度学习入门之单个神经元
  11. 四旋翼无人机的三维动态Matlab仿真
  12. el-dialog修改弹框到顶部的高度margin-top
  13. 两个DIV并列排在一个大的DIV中
  14. 初学者入门阿里云haas510开板式DTU(2.0版本)--510-AS
  15. 熟悉的人不认识我了,不熟悉的人认识我了
  16. EC-PCA: 利润中心记账流程
  17. 计算机通信与信息系统教学,通信与信息系统学科学术型硕士研究生培养方案
  18. 2020年12月六级作文Why students should be encouraged to develop the ability to meet challenges.
  19. 初次发EI会议,所要了解的东西
  20. 织梦cms模板下载:响应式机械螺丝设备网站模板

热门文章

  1. 机器学习项目模板:ML项目的6个基本步骤
  2. 万人马拉松赛事,人脸识别系统如何快速、准确完成校验?
  3. 用最少的时间学最多的数据挖掘知识(附教程数据源)| CSDN博文精选
  4. DeepMind提图像生成的递归神经网络DRAW,158行Python代码复现
  5. 50行代码教AI实现动作平衡 | 附完整代码
  6. 品质检测破局:工业视觉检测云平台为智能制造“点睛”
  7. 这玩意比ThreadLocal叼多了,吓得我赶紧分享出来。
  8. SQL 查询总是先执行SELECT语句吗?你们都错了!
  9. Go 为什么这么“快”
  10. linux后台执行命令:amp;与nohup的用法