[167][简单][双指针][二分] 两数之和 II - 输入有序数组
题目描述
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。解题思路
二分
双指针
最后更新于
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。最后更新于
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
n = len(numbers)
left, right = 0, n - 1
while left < right:
t_sum = numbers[left] + numbers[right]
if t_sum == target:
return [left + 1, right + 1]
elif t_sum > target:
right -= 1
else:
left += 1
return [-1, -1]