劍指Offer 042和為S的兩個數字

2021-09-25 09:17:02 字數 645 閱讀 9025

042和為s的兩個數字

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

輸出規則:

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

方法一:雙指標法

思路:因為是要求兩個數乘積最小的,我們可知肯定是左右兩邊相差越遠的乘積最小,所以用雙指標放在陣列頭部和尾部,求得兩者加起來等於s即可輸出

**:

public arraylistfindnumberswithsum(int  array, int sum) else if(array[i]+array[j]();

}

方法二:hashmap計數法

思路:可以用map來記,如果找不到該值對應的value值,就放入,找到就用list記下來,最後比較,稍微複雜點

**:

public arraylistfindnumberswithsum(int  array, int sum) else

}return new arraylist<>(arrays.aslist(list1.get(i),list2.get(i)));

}}

劍指Offer 042 翻轉單詞順序列

牛客oj 翻轉單詞順序列 九度oj github 042 翻轉單詞順序列 csdn題解 劍指offer 042 翻轉單詞順序列 牛客oj 九度oj csdn題解 github 042 翻轉單詞順序列 1361 翻轉單詞順序列 劍指offer 042 翻轉單詞順序列 042 翻轉單詞順序列 您也可以選...

劍指offer 和為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 輸...

劍指offer 和為S的兩個數字

esmp esmp 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 esmp esmp 對應每個測試案例,輸出兩個數,小的先輸出。esmp esmp 首先,先考慮在遞增排序的陣列中找到兩個和為s的數字。這個思路...