class solution:
def massage(self, nums: list[int]) -> int:
if len(nums)==0:
return 0
if len(nums)==1:
return nums[0]
n = len(nums)
dp = [0]*(len(nums)+1)
dp[0] = 0
dp[1] = nums[0]
for i in range(2,len(nums)+1):
dp[i]=max(dp[i-1],dp[i-2]+nums[i-1])
return dp[n]
難度簡單102
乙個有名的按摩師會收到源源不斷的預約請求,每個預約都可以選擇接或不接。在每次預約服務之間要有休息時間,因此她不能接受相鄰的預約。給定乙個預約請求序列,替按摩師找到最優的預約集合(總預約時間最長),返回總的分鐘數。
注意:本題相對原題稍作改動
示例 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 面試題17 16 按摩師
乙個有名的按摩師會收到源源不斷的預約請求,每個預約都可以選擇接或不接。在每次預約服務之間要有休息時間,因此她不能接受相鄰的預約。給定乙個預約請求序列,替按摩師找到最優的預約集合 總預約時間最長 返回總的分鐘數。注意 本題相對原題稍作改動 示例 1 輸入 1,2,3,1 輸出 4 解釋 選擇 1 號預...
LeetCode動態規劃 面試題17 16按摩師
乙個有名的按摩師會收到源源不斷的預約請求,每個預約都可以選擇接或不接。在每次預約服務之間要有休息時間,因此她不能接受相鄰的預約。給定乙個預約請求序列,替按摩師找到最優的預約集合 總預約時間最長 返回總的分鐘數。注意 本題相對原題稍作改動 示例 1 輸入 1,2,3,1 輸出 4 解釋 選擇 1 號預...
leetcode 面試題 17 16 按摩師
這道題其實和 leetcode 198.打家劫舍 是一樣的,典型的dp問題,dp i 表示在第 i 個請求到來後的總預約時間。我們對於第 i 個預約請求有兩種選擇 接和不接 接的話則表示他是從第 i 2 個請求過來的 因為不能接相鄰的請求 不接的話其總預約時間不變 和dp i 1 相同 所以狀態轉移...