劍指offer42 和為S的連續正數序列

2022-08-19 05:36:11 字數 577 閱讀 3341

小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也很快的找出所有和為s的連續正數序列? good luck!

輸出所有和為s的連續正數序列。序列內按照從小至大的順序,序列間按照開始數字從小到大的順序

從i=1->sum for迴圈

維持乙個now_sum值,如果大於目標sum 那麼去除最小元素,直到和<=目標sum

class

solution

if(sum_now ==sum)ans.push_back(now);

sum_now+=i ; now.push_back(i);//

為下一輪迴圈準備

continue

; }

if(sum_now ==sum)

if(sum_now }

return

ans ;

}};

劍指offer 42 和為S的兩個數字

題目 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。思路 此題關鍵之處在於任意多對兩個數的和相等,乘積最小的兩個數為兩個數之差的絕對值最大,也就是說可以先定義首元素和...

劍指offer42 和為S的兩個數字 題解

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。對應每個測試案例,輸出兩個數,小的先輸出。輸入 1,2,4,7,11,15 15返回值 4,11 計算和 s nums i nums j 若 s sum 則指標 j 向左移...

劍指 offer 42(動態規劃)連續陣列的最大值

輸入乙個整型陣列,陣列中的乙個或連續多個整數組成乙個子陣列。求所有子陣列的和的最大值。要求時間複雜度為o n 示例1 輸入 nums 2,1,3,4,1,2,1,5,4 輸出 6 解釋 連續子陣列 4,1,2,1 的和最大,為 6。1 arr.length 10 5 100 arr i 100 cl...