劍指offer 57 和為S的數字

2021-10-07 02:06:32 字數 656 閱讀 6409

和為 s 的連續正整數序列

輸入乙個陣列和乙個數字s,在陣列中查詢兩個數,使得它們的和正好是s

如果有多對數字的和等於 s ,則輸出任意一對即可

例如:輸入陣列 和數字 15。

由於 4 + 11 = 15 ,因此 輸出 4 和 11

排序

利用兩個指標【left right】

class solution ;}}

};

輸入乙個正數 s ,列印出所有和為 s 的連續正數數序列(至少含有兩個數)

例如輸入15,由於1+2+3+4+5=4+5+6=7+8=15,所以結果列印出3個連續序列1~5、4~6和7~8

同樣利用兩個指標

i 和 j [ i < j ]

計算 i 和 j 之間數的和 ans

ans > sum ,i++減少 i 和 j 之間的數

ans < sum ,j++增加 i 和 j 之間的數

class solution 

return res;

}};

《劍指offer》 57 和為S的數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。先遍歷每個元素,在做差,看看差值在不在裡面,因為陣列是排序過的,所以乘積較小的肯定就是離得最遠的,python 的話還是很方便的 coding utf 8 class so...

劍指offer 57 和為s的兩個數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得它們的和正好是s。如果有多對數字的和等於s,則輸出任意一對即可。對列表中元素根據target計算餘數,判斷餘數是否在例表中,有則返回。但時間複雜度高為o n 2 當列表很大時,超出時間限制。class solution def twosum...

劍指 Offer 57 和為s的兩個數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得它們的和正好是s。如果有多對數字的和等於s,則輸出任意一對即可。示例 1 輸入 nums 2,7,11,15 target 9 輸出 2,7 或者 7,2 示例 2 輸入 nums 10,26,30,31,47,60 target 40 輸...