隔數取乙個求和最大

2021-10-04 08:15:26 字數 968 閱讀 7573

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

示例 1:

輸入: [1,2,3,1]

輸出: 4

解釋: 選擇 1 號預約和 3 號預約,總時長 = 1 + 3 = 4。

示例 3:

輸入: [2,1,4,5,3,1,1,3]

輸出: 12

解釋: 選擇 1 號預約、 3 號預約、 5 號預約和 8 號預約,總時長 = 2 + 4 + 3 + 3 = 12。

#2、思路 

動態規劃,更新陣列

#3、notes

1、陣列可以從0開始更新,前邊加乙個a=0,b =0, 就把整個接起來了

2、最後輸出b 就可以,輸出nums[ind-1] 不知為啥就不行

提示錯誤:line 923: char 34: runtime error: pointer index expression with base 0x000000000000

overflowed to 0xfffffffffffffffc (stl_vector.h) 

#4、複雜度

時間 o( n )  陣列長度

空間  存放變數a,b;

#5、code

class solution {

public:

int massage(vector& nums) {

int a=0;

int b=0;

int ind=nums.size();

for( int i=0 ; inums[i]=max ( b , a + nums[i] ) ;

a = b;

b = nums[i];

//return nums[ind-1]; 

return b;     

乙個分批取數優化例子

乙個oracle分批取數優化例子 allobj表是乙個100w的大表,需要對它進行分批取數 通用分頁sql select from select a.rownum rn from select from allobj a where rownum 10000 where rn 5000 優點 1通用...

給定乙個矩陣,求和最大的子矩陣

題目 輸入n,代表方形矩陣的維度,然後輸入n 2個整數。請輸出和最大的子矩陣的和。要點 利用了最大連續子串和的思路,實際上也是動態規劃的題目。這裡再強調一下,對於動態規劃的題目,我們經常會使用到 1下標,這樣會使得程式設計很方便。如何能夠正常的使用 1下標呢?見 include using name...

取乙個數的前幾位

先看對數的性質,loga b c c loga b loga b c loga b loga c 每次給的數字數都不確定,通過取對數變得很簡單 假設給出乙個數10234432,用科學計數法1.0234432 10 7表示,那麼log10 10234432 log10 1.0234432 10 7 l...