leetcode 面試題 17 16 按摩師

2021-10-06 15:40:09 字數 1018 閱讀 9823

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 相同 所以狀態轉移...