題目描述:
輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。
輸出描述:
對應每個測試案例,輸出兩個數,小的先輸出。
思路:遍歷陣列,先找到第乙個數dat
a1
data1
data
1,然後再在陣列中找另外乙個數sum
−dat
a1
sum-data1
sum−da
ta1。設定乙個全域性乘積最小值變數mul
timi
nmultimin
multim
in用來記錄乘積最小的兩個數字。
class
solution
;int multimin=int_max;
vector<
int> res;
for(
int i=
0;isize()
;i++)}
}return res;}}
;
思路2:採用雙指標法
class
solution
;int left=0;
int right=array.
size()
-1;int multimin=int_max;
vector<
int> res;
while
(left//此情況left和right同時發生變化
left++
; right--;}
else
if(curelse
}return res;}}
;
劍指offer 和為S的兩個數字
esmp esmp 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 esmp esmp 對應每個測試案例,輸出兩個數,小的先輸出。esmp esmp 首先,先考慮在遞增排序的陣列中找到兩個和為s的數字。這個思路...
劍指offer 和為S的兩個數字
題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。ps 拋物線開口向下,找到的第一組 相差最大的 就是乘積最小的,不需要比較 class solution in...
劍指offer 和為s的兩個數字
輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。雙指標,乙個從左向右遍歷,乙個從右向左遍歷。coding utf 8 class solution deffindnum...