#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...