同样的思路双指针法,我发现排序数组分析一般都用这个方法

 public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
        ArrayList<Integer> res= new ArrayList<>();
        int i = 0,j=array.length-1;

        int ij=Integer.MAX_VALUE;
        while(i<j){
            int sumV = array[i]+array[j];
            if(sumV>sum){
               j--;
            }else if(sumV<sum){
               i++;
            }else{
                if(ij>i*j){
                    res.clear();
                    res.add(array[i]);
                    res.add(array[j]);
                    ij=i*j;
                }
                i++;
            }
        }
        return res;
    }