和為S的兩個數字

2022-03-18 16:47:10 字數 399 閱讀 2898

/*輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的*/

/*對應每個測試案例,輸出兩個數,小的先輸出。*/

思路:題目說了是乙個遞增陣列,要找兩個乘積最小的使他們和為s

那麼,從開始從兩頭找,找到a[i]+a[j]=sum的則輸出當前兩個數

加起來小於sum,說明a[j]夠大,a[i]有些小 ,i=i+1;

加起來大於sum,說明a[i]夠小,a[j]有些大,j=j-1;

關於返回結果同樣需要用vector容器儲存,結果返回它即可,果然牛客網的題還是接觸的少啊。

class solution 

return res;

}};

和為S的兩個數字

題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸入 每個測試案例包括兩行 第一行包含乙個整數n和k,n表示陣列中的元素個數,k表示兩數之和。其中1 n 10 6,k為int 第二行包含n個整數,每個陣列均為i...

和為S的兩個數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。class solution public vectorfindnumberswithsum vectorarray,i...

和為s的兩個數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。include using namespace std bool twonumberwithsum int data,i...