Day 19
题目:两数之和 II - 输入有序数组
leetcode链接:两数之和 II - 输入有序数组
要点:左右双指针
1、Java
class Solution {
public int[] twoSum(int[] numbers, int target) {
int left = 0;
int right = numbers.length - 1;
while(left < right){
int sum = numbers[left] + numbers[right];
if(sum == target){
return new int[] {left + 1, right + 1};
}else if(sum < target){
left++;
}else if(sum > target){
right--;
}
}
return new int[]{-1, -1};
}
}
2、python
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
left = 0
right = len(numbers) - 1
while(left < right):
sum = numbers[left] + numbers[right]
if sum == target:
return [left + 1, right + 1]
elif sum < target:
left = left + 1
elif sum > target:
right = right - 1
return [-1, -1]