java-14.输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字
public class TwoElementEqualSum {/** * 第 14 题:题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是 O(n) 。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组 1 、 2 、 4 、 7 、 11 、 15 和数字 15 。由于 4+11=15 ,因此输出 4 和 11 。 */public static void main(String[] args) {int[] a={1,2,4,7,11,15};find(a,18);}static void find(int[] a,int sum){int i=0;int j=a.length-1;while(i<j){if(a[i]+a[j]>sum){j--;}else if(a[i]+a[j]<sum){i++;}else{System.out.println(a[i]+"+"+a[j]+"="+sum);return;}}System.out.println("not found");}}