package leetcode;
public class offer_57 {
public int[] twoSum(int[] nums, int target) {
int[] arr=new int[2];
int left=0;
int right=nums.length-1;
while(left<right) {
if(left<right&&nums[left]+nums[right]==target) {
arr[0]=nums[left];
arr[1]=nums[right];
break;
}
//数组有序,则当前和小于target时,左指针加一
while(left<right&&nums[left]+nums[right]<target) {
left=left+1;
}
//当前和大于target时,右指针减一
while(left<right&&nums[left]+nums[right]>target) {
right=right-1;
}
}
return arr;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
offer_57 off=new offer_57();
int[] nums= {10,26,30,31,47,60};
for(int i:off.twoSum(nums, 40)) {
System.out.println(i);
}
}
}