1、前言
题目描述2、思路
这题跟第一题的两数之和一模一样,只不过第一题是乱序数组,这道题直接给你一个有序数组,更简单了。
这道题也是左右指针一个非常典型的解法。
3、代码
class Solution {
public int[] twoSum(int[] numbers, int target) {
int[] res = new int[2];
int left = 0, right = numbers.length - 1;
while (left < right){
int sum = numbers[left] + numbers[right];
if(sum < target){
left++;
}else if(sum > target){
right--;
}else {
res[0] = left + 1;
res[1] = right + 1;
break;
}
}
return res;
}
}
网友评论