劍指offer -- 和為S的兩個數字
阿新 • • 發佈:2019-01-05
輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。對應每個測試案例,輸出兩個數,小的先輸出。
ps:邊長相同,正方形的面積比矩形大
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
ArrayList<Integer> res = new ArrayList<Integer>();
int i =0,j =array.length - 1,s;
while( i < j){
s = array[i] + array[j];
if(s > sum) j--;
else if(s < sum) i++;
else{
res.add(array[i]);
res.add(array[j]);
break;
}
}
return res;
}
}