classSolution: deftwoSum(self, numbers: List[int], target: int) -> List[int]: # 暴力枚举,太耗时。 # for i in range(len(numbers)): # y = target-numbers[i] # for j in range(i+1,len(numbers)): # if y == numbers[j]: # return [i+1,j+1] # 二分法 for i inrange(len(numbers)): y = target-numbers[i] left = i+1 right = len(numbers)-1 while left<=right: half = (left+right)>>1 if numbers[half]==y: return [i+1,half+1] elif numbers[half]>y: right = half-1 else: left = half+1