给定一个已按照非递减顺序排列的整数数组numbers
,请你从数组中找出两个数满足相加之和等于目标数target
。
输入:numbers = [2,7,11,15], target = 9 输出:[1,2]
class Solution {
public int[] twoSum(int[] numbers, int target) {
int p = 0,q = numbers.length - 1;
while(p < q){
int sum = numbers[p] + numbers[q];
if(sum == target){
return new int[]{p + 1,q + 1};
} else if(sum < target){
p ++;
}else{
q --;
}
}
return new int[]{-1,-1};
}
}