給定一個(gè)已按照升序排列 的有序數(shù)組蘑拯,找到兩個(gè)數(shù)使得它們相加之和等于目標(biāo)數(shù)。
函數(shù)應(yīng)該返回這兩個(gè)下標(biāo)值 index1 和 index2嘱腥,其中 index1 必須小于 index2。
說明:
返回的下標(biāo)值(index1 和 index2)不是從零開始的。
你可以假設(shè)每個(gè)輸入只對(duì)應(yīng)唯一的答案嘿悬,而且你不可以重復(fù)使用相同的元素。
示例:
輸入: numbers = [2, 7, 11, 15], target = 9
輸出: [1,2]
解釋: 2 與 7 之和等于目標(biāo)數(shù) 9 水泉。因此 index1 = 1, index2 = 2 善涨。
class Solution {
public int[] twoSum(int[] numbers, int target) {
int i=0,j=numbers.length-1;
while(i<j){
if((numbers[i]+numbers[j])==target){
return new int[]{i+1,j+1};
}else if((numbers[i]+numbers[j])>target){
j--;
}else{
i++;
}
}
return new int[]{-1,-1};
}
}