解题思路:
如果两个指针指向元素的和 sum == target,那么得到要求的结果;
如果 sum > target,移动较大的元素,使 sum 变小一些;
如果 sum < target,移动较小的元素,使 sum 变大一些。
class Solution {
public int[] twoSum(int[] numbers, int target) {
int i = 0;
int j = numbers.length - 1;
while(i<j){
if (target == (numbers[i]+numbers[j]))
return new int[]{i+1,j+1};
else if (target>(numbers[i]+numbers[j]))
i++;
else if (target<(numbers[i]+numbers[j]))
j--;
}
return null;
}
}