import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> FindNumbersWithSum(int [] array,int sum) {
        int low=0,high=array.length-1;
        ArrayList<Integer> arr=new ArrayList<Integer>();
        while(low<high)
        {
            if(array[low]+array[high]==sum) //如果相等,则加入表中返回
            {
                arr.add(array[low]);
                arr.add(array[high]);
                return arr; 
            }
            else if(array[low]+array[high]>sum)//如果大了,则high小一点,array[high]的值就小一点             {
                high--;
            }else{   //如果小了,则low大一点,array[low]的值就大一点
                low++;
            }
        }
        return arr;
    }
}
使用双指针 low 指向表头,high 指向表尾,如果表头 表尾两元素之和大了,则high--,如果小了则low++ ;值到两到两元素之和等于sum