问题描述
简化了的Two Sum问题,数组全部已经递增排列
解法一:
思路:
由于已经递增排列,那么就不需要用之前的HashMap了,直接上一首一尾两个指针,根据情况移动指针就可以了
Code:
public class Solution {
public int[] twoSum(int[] numbers, int target) {
int lo = 0, hi = numbers.length - 1;
int[] results = new int[2];
while(numbers[lo] + numbers[hi] != target){
if(numbers[lo] + numbers[hi] < target){
lo++;
}
else{
hi--;
}
}
results[0] = lo + 1;
results[1] = hi + 1;
return results;
}
}