找出数组中两个数字之和为20的两个数
代码实现
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = {1,7,17,2,6,3,14};
findSum(array,20);
}
// 类似于二分查找法进行运算,时间复杂度为O(n)
private static void findSum(int[] array, int sum) {
// TODO Auto-generated method stub
Arrays.sort(array);
int begin = 0;
int end = array.length-1;
while(begin<end) {
if(array[begin]+array[end]<sum) {
begin++;
}else if(array[begin]+array[end]>sum) {
end--;
}else {
System.out.println(array[begin]+" " + array[end]);
begin++;
end--;
}
}
}
结果展示