程序员面试金典 - 面试题 17.16. 理发师(动态规划DP)

1. 题目

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

注意:本题相对原题稍作改动

示例 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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/the-masseuse-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • dp[i] 表示第 i 次预约的 最长时间
  • 第 i 次预约,那么可以 + dp[i-2]
  • 第 i 次不预约,可以直接取 dp[i-1]
  • 所以转态转移方程:dp[i]=max⁡(dp[i−2]+nums[i],dp[i−1])dp[i] = \max(dp[i-2]+nums[i], dp[i-1])dp[i]=max(dp[i2]+nums[i],dp[i1])

类似题目:
LeetCode 198. 打家劫舍(DP)
LeetCode 213. 打家劫舍 II(DP)
LeetCode 337. 打家劫舍 III(记忆化+递归)

class Solution {
public:int massage(vector<int>& nums) {int i, n = nums.size();if(n == 0) return 0;if(n == 1) return nums[0];int dp[n] = {0};dp[0] = nums[0];dp[1] = max(nums[0],nums[1]);for(i = 2; i < n; i++){dp[i] = max(dp[i-2]+nums[i], dp[i-1]);}return dp[n-1];}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于NLP自监督学习,面试时被问崩溃了!

不要错过文末福利❤扫盲自监督无监督&#xff08;有不少同学还答不上来自监督和无监督真正的区别&#xff0c;我不是针对谁。&#xff09;无监督学习&#xff1a;无监督学习不依赖任何标签值&#xff0c;通过对数据内在特征的挖掘&#xff0c;找到样本间的关系&#xff0c;比如…

智能支付稳定性测试实战

本文根据美团高级测试开发工程师勋伟在美团第43期技术沙龙“美团金融千万级交易系统质量保障之路”的演讲整理而成。主要介绍了美团智能支付业务在稳定性方向遇到的挑战&#xff0c;并重点介绍QA在稳定性测试中的一些方法与实践。 背景 美团支付承载了美团全部的交易流量&#…

程序员面试金典 - 面试题 16.01. 交换数字(位运算swap)

1. 题目 编写一个函数&#xff0c;不用临时变量&#xff0c;直接交换numbers [a, b]中a与b的值。 示例&#xff1a; 输入: numbers [1,2] 输出: [2,1]提示&#xff1a; numbers.length 2来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://le…

阿里巴巴达摩院对话团队招聘研究实习生!

招聘贴投放请联系微信xixiaoyao-1阿里巴巴-达摩院-对话智能团队正在招募研究实习生&#xff01;团队介绍达摩院对话智能&#xff08;Conversational AI&#xff09;团队成立于2014年&#xff0c;专注于人机对话前沿研究和大规模应用&#xff0c;打造了任务型对话开发平台 Dialo…

人物志 | 技术十年:美团第一位前端工程师潘魏增

导读 潘魏增&#xff0c;2006年毕业于南开大学电子系&#xff0c;2008年加入早期饭否团队。美团第一位前端工程师&#xff0c;现在是X项目组终端研发部的负责人。处女座&#xff0c;INTJ&#xff0c;喜欢Linux和Vim&#xff0c;崇尚开源&#xff0c;相信开源可以让世界变得更美…

程序员面试金典 - 面试题 04.02. 最小高度树(二叉搜索树中序遍历)

1. 题目 给定一个有序整数数组&#xff0c;元素各不相同且按升序排列&#xff0c;编写一个算法&#xff0c;创建一棵高度最小的二叉搜索树。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是&#xff1a;[0,-3,9,-10,null,5]&#xff0c;它可以表示下面这个高度平衡二…

算法岗校招已成“人间地狱”,还有办法上岸吗

由于一系列众所周知的原因&#xff0c;算法岗的竞争越来越激烈&#xff0c;知乎上有个问题&#xff0c;形象的将算法岗的秋招形势比喻成了“人间地狱”。虽然有夸张的成分&#xff0c;但也一定程度上反映了如今算法岗“僧多粥少”的现状。内卷焦虑、网络偏差影响下&#xff0c;…

LintCode 1753. 写作业(二分查找)

1. 题目 n个人&#xff0c;他们每个人需要独立做 m 份作业。 第 i 份作业需要花费 cost[i] 的时间。由于每个人的空闲时间不同&#xff0c;第 i 个人有 val[i] 的时间&#xff0c;这代表他做作业的总时间不会超过 val[i]。每个人都按照顺序&#xff0c;从1号作业开始&#xff…

美团容器平台架构及容器技术实践

本文根据美团基础架构部/容器研发中心技术总监欧阳坚在2018 QCon&#xff08;全球软件开发大会&#xff09;上的演讲内容整理而成。 背景 美团的容器集群管理平台叫做HULK。漫威动画里的HULK在发怒时会变成“绿巨人”&#xff0c;它的这个特性和容器的“弹性伸缩”很像&#xf…

全球1000+研究员在Twitter直播训练超大模型??

文 | 王思若将视角转换到2020年&#xff0c;OpenAI发布了拥有1750亿参数量的GPT-3, 在阅读理解、语言翻译、问答等多种任务展现了令人惊艳的效果&#xff0c;算法工程二者结合展现了大模型的“暴力美学”&#xff0c;也同时开启了千亿、万亿参数模型的 “军备竞赛”。从模型框架…

LintCode 1671. 玩游戏(贪心、难)

1. 题目 N 个人在玩游戏&#xff0c;每局游戏有一个裁判和 N-1 个平民玩家。给出一个数组 A, A[i] 代表玩家 i 至少需要成为平民 A[i] 次&#xff0c;返回最少进行游戏的次数。 样例 1: 输入&#xff1a;A [2, 2, 2, 2] 输出&#xff1a;3 解析&#xff1a; A[0] 2表示玩家…

美团点评基于 Flink 的实时数仓建设实践

引言 近些年&#xff0c;企业对数据服务实时化服务的需求日益增多。本文整理了常见实时数据组件的性能特点和适用场景&#xff0c;介绍了美团如何通过 Flink 引擎构建实时数据仓库&#xff0c;从而提供高效、稳健的实时数据服务。此前我们美团技术博客发布过一篇文章《流计算框…

机器翻译做到头了?Meta开源NLLB翻译模型,支持200种语言互译

文 | Alex(凹非寺)源 | 量子位这个翻译模型&#xff0c;不仅支持200语言之间任意两两互译&#xff0c;还是开源的。Meta AI在发布开源大型预训练模型OPT之后&#xff0c;再次发布最新成果NLLB。NLLB的全称为No Language Left Behind&#xff0c;如果套用某著名电影&#xff0c;…

LintCode 1652. 区间异或 II

1. 题目 给定数组 A&#xff08;下标从0到n-1&#xff0c;n为数组长度&#xff09;&#xff0c;和一个查询列表。 每一项查询包括两个整数 i 和 k。 对于每次查询&#xff0c;计算Ai, A(i  1), ..., A(ik-1)的异或值。结果保存在列表中。 样例1 输入: A [1,2,3,4] and …

美团外卖Android平台化的复用实践

美团外卖平台化复用主要是指多端代码复用&#xff0c;正如美团外卖iOS多端复用的推动、支撑与思考文章所述&#xff0c;多端包含有两层意思&#xff1a;其一是相同业务的多入口&#xff0c;指美团外卖业务需要在美团外卖App&#xff08;下文简称外卖App&#xff09;和美团App外…

智源承认论文抄袭,相关责任人已离职!

文 | 金磊Alex(凹非寺)源 | 量子位“2处属于抄袭&#xff0c;4处引用不规范。”“相关责任人均已主动离职。”“大模型研究中心部门重组。”……一篇名为A Roadmap for Big Model、由百人联合完成的综述报告&#xff0c;因涉嫌抄袭在国内外学术圈引发了不小的关注。对此&#x…

LintCode 1689. k求和III(递归)

1. 题目 给出 n 个正整数和整数 k 以及一个目标数字 target. 在 n 个数中找出 k 个奇数 或 k 个偶数 使得和为target&#xff0c;输出方案数 样例 1: 给出 [1,2,3,4], k 2,target 4, 返回 1 输入: [1,2,3,4] 2 4 输出: 1 解释: 只有一个方案&#xff1a;[1,3].样例 2: 给…

美团扫码付小程序的优化实践

短短几年的时间&#xff0c;微信小程序已经从一颗小小的萌芽成长为参天大树&#xff0c;形成了较大规模的开发者生态系统&#xff0c;尤其是在支付、线下垂直领域潜力巨大。 作为领先的生活服务平台&#xff0c;美团的技术团队在小程序领域也进行了很多的探索和实践。像mpvue就…

谈谈算法岗简历优化与面试技巧!

秋招已经开始&#xff0c;许多同学都在为简历和面试发愁。我跟BAT某lab高级算法研究员、担任过多次技术面试官的Sunny师兄聊了聊&#xff0c;跟他请教了简历撰写和面试准备的方法。重磅福利在文末↓Sunny 目前在BAT某lab担任高级算法研究员&#xff0c;有多年的简历筛选和面试经…

LintCode 386. 最多有k个不同字符的最长子字符串(双指针)

1. 题目 给定字符串S&#xff0c;找到最多有k个不同字符的最长子串T。 样例 1: 输入: S "eceba" 并且 k 3 输出: 4 解释: T "eceb"样例 2: 输入: S "WORLD" 并且 k 4 输出: 4 解释: T "WORL" 或 "ORLD"挑战 O(n) 时…