力扣 面試題 17.16. 按摩師
一個有名的按摩師會收到源源不斷的預約請求,每個預約都可以選擇接或不接。在每次預約服務之間要有休息時間,因此她不能接受相鄰的預約。給定一個預約請求序列,替按摩師找到最優的預約集合(總預約時間最長),返回總的分鐘數。
注意:本題相對原題稍作改動
示例 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。
思路:動態規劃+滾動陣列
int massage(int* nums, int numsSize){
int ppre=0,pre=0,now=0;
for(int i=1;i<=numsSize;i++){
ppre=pre;
pre=now;
now=pre>ppre+nums[i-1]?pre:ppre+nums[i-1];
}
return now;
}
相關文章
- 動態規劃2:面試題 17.16. 按摩師動態規劃面試題
- 程式設計師如何玩轉力扣刷題?程式設計師力扣
- #力扣 LeetCode面試題 04.08. 首個共同祖先 @FDDLC力扣LeetCode面試題
- 力扣刷題-滑動視窗(字串)力扣字串
- 力扣刷題-二分查詢力扣
- 【力扣】排列問題(回溯法)(去重)力扣
- 力扣題解1-兩數之和力扣
- 力扣題解2-兩數相加力扣
- 【每週例題】力扣 C++ 字串相乘力扣C++字串
- 力扣2589 5.16力扣
- 力扣刷題Python筆記:括號生成力扣Python筆記
- 力扣前1500道非會員題刷題筆記力扣筆記
- 字典序的下一個排序--力扣每日一題排序力扣每日一題
- 力扣 204. 計數質數(每日一題)力扣每日一題
- 力扣刷題——2306. 公司命名力扣
- 力扣(LeetCode)863力扣LeetCode
- 力扣(LeetCode)389力扣LeetCode
- 力扣(LeetCode)796力扣LeetCode
- 力扣(LeetCode)934力扣LeetCode
- 力扣(LeetCode)543力扣LeetCode
- 力扣(LeetCode)513力扣LeetCode
- 力扣(LeetCode)965力扣LeetCode
- 力扣27. 移除元素力扣
- 力扣oj-字串相乘力扣字串
- 力扣之按身高排序力扣排序
- 教你如何玩轉力扣力扣
- 力扣刷題筆記:207. 課程表力扣筆記
- 力扣(LeetCode)103力扣LeetCode
- 力扣(LeetCode)130力扣LeetCode
- 力扣——朋友圈思路分析力扣
- 力扣#43 字串相乘(C++)力扣字串C++
- 力扣之存在重複元素力扣
- 力扣-283. 移動零力扣
- 力扣-54. 螺旋矩陣力扣矩陣
- 力扣 22. 括號生成力扣
- 力扣85-最大矩形(巧妙利用上一題解答 Java版題解)力扣Java
- 力扣 (LeetCode) - Database-刷題626--換座位力扣LeetCodeDatabase
- 2024.09.22 力扣刷題 Z字形變換力扣