题目:升序数组找出两个数的和为target,返回它们的下标
//定义左右两个指针,向中间遍历,如果两数之和等于target返回下标
//小于target,左指针i++,使两数之和增加
//大于target,右指针j--,使两数之和减小
//如果循环结束找不到,返回null
public class TwoSum {
public static int[] twoSum(int[] arr,int target){
int i=0;
int j=arr.length-1;
while(i<j){
if(arr[i]+arr[j]==target){
return new int[]{i,j};
}
else if(arr[i]+arr[j]<target){
i++;
}
else{
j--;
}
}
return null;
}
public static void main(String[] args){
int arr[]={1,2,6,8,9};
int target =10;
for(int a:twoSum(arr,target)){
System.out.println(a);
}
}
}