找出集合S中和為X的兩個數

2021-06-10 05:48:06 字數 442 閱讀 1745

題目(《演算法導論》p23):給出乙個執行時間為nlgn的演算法,使之能在給定乙個由n個整數構成的集合s和另乙個整數x時,判斷出s中是否存在有兩個其和等於x的元素。

思路:(1)排序(nlgn) (2)遍歷(n)

**:快速排序**引自

def quick_sort(array)

return array if array.size < 2

left, right = array[1..-1].partition

quick_sort(left) + [ array.first ] + quick_sort(right)

ends=[23,43,4,5]

def find_sum(x,array)

s=quick_sort(array);

i=0;

j=array.size-1;

while i

劍指offer 陣列中和為S的兩個數

題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。主要思路 設定兩個三個下標l,m,r r為一開始中陣列中小於等於s的下標,m為一開始陣列中小於等於s 2的下標...

找出排序陣列中和為給定值的兩個數字

題目 輸入乙個已經按公升序排序過的陣列和乙個數字,在陣列中查詢兩個數,使得它們的和正好是輸入的那個數字。要求時間複雜度是o n 如果有多對數字的和等於輸入的數字,輸出任意一對即可。例如 a sum 15,輸出6,9.思路 因為陣列是有序的,因此我們可設兩個指標left,right,分別從頭和從尾部遍...

求遞增序列中和為S的乘積最小的兩個數

不要小看每一道簡單的題,把細節做好,把每一道簡單的題做的漂亮,這就是一種能力。牛客上有這樣一道題 題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出 解題思路 定...