示例 1:
输入:numbers = [2,7,11,15], target = 9
输出:[1,2]
解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。
示例 2:
输入:numbers = [2,3,4], target = 6
输出:[1,3]
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
n=len(numbers)
for i in range(n):
low,high=i+1,n-1
while low <= high:
mid=(low+high) // 2
if numbers[mid] == target-numbers[i]:
return[i+1,mid+1]
elif (target-numbers[i]) < numbers[mid]:
high=mid-1
elif (target-numbers[i]) > numbers[mid]:
low=mid+1
return [-1, -1]