每日一題 按摩師選擇預約時間

2021-10-04 08:13:22 字數 569 閱讀 9810

乙個有名的按摩師會收到源源不斷的預約請求,每個預約都可以選擇接或不接。在每次預約服務之間要有休息時間,因此她不能接受相鄰的預約。給定乙個預約請求序列,替按摩師找到最優的預約集合(總預約時間最長),返回總的分鐘數。

注意:本題相對原題稍作改動

這道題與著名的小偷問題其實是相同的,小偷要偷到最多價值的東西,但是不能偷相鄰的地方,選擇最優序列。方法採用動態規劃,一些邊界條件注意判斷。

public

static

intmassage

(int

nums)

int len=nums.length;

int[

]dp=

newint

[len];if

(len<2)

dp[0]

=nums[0]

; dp[1]

=math.

max(nums[0]

,nums[1]

);for(

int i=

2;i)return dp[len-1]

;}

每日一練之按摩師

解題思路對於每個預定可以有接收和不接收兩種模式 can 為接收第 n 個數的最大值,它等於 不接收上乙個的最大值 這個的時間的長 和 接受上乙個的最大值 的最大值。cannot 為不接受第 n 個數的最大值,它等於 接受第 n 1 個數的最大值 和 不接受第 n 1 的最大值 的最大值。class ...

刷題53 按摩師

乙個有名的按摩師會收到源源不斷的預約請求,每個預約都可以選擇接或不接。在每次預約服務之間要有休息時間,因此她不能接受相鄰的預約。給定乙個預約請求序列,替按摩師找到最優的預約集合 總預約時間最長 返回總的分鐘數。注意 本題相對原題稍作改動 輸入 1,2,3,1 輸出 4 解釋 選擇 1 號預約和 3 ...

每日一題系列 第五天 按摩師 動態規劃

資料鏈結 寫的很好,推薦看一看 一開始看到這道題,要求最優解,我就想到了動態規劃,但是因為本人比較菜,還不太會動態規劃,所以就在網上找了講解動態規劃思想的文章,發現了一篇講得很好很清晰的文章,鏈結在本文最開始已經給出了。總結來說,動態規劃就是為了解決這個問題,我們將它分解為幾個小問題,並且分解出來的...