题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
思路:首尾双指针进行移动
ac代码:
1 import java.util.ArrayList; 2 public class Solution { 3 public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) { 4 int i=0,j=array.length-1; 5 ArrayList<Integer>list=new ArrayList<Integer>(); 6 while(i<=j){ 7 if(array[i]+array[j]==sum){ 8 list.add(array[i]); 9 list.add(array[j]); 10 break; 11 }else if(array[i]+array[j]<sum){ 12 i++; 13 }else 14 j--; 15 } 16 return list; 17 } 18 }