题目信息
算法思路
因为数组已经是非递减排序,所以直接遍历整个数组,找到两个数的和是target就可以
设置i=0,j=len(numbers)-1
如果numbers[i]+numbers[j]=target,则返回[i+1,j+1],否则返回[]
代码实现
class Solution:
def twoSum(self, numbers: List[int], target: int) -> List[int]:
left = 0
right = len(numbers)-1
while left < right:
if numbers[left] + numbers[right] == target:
return [left+1, right+1]
elif numbers[left] + numbers[right] > target:
right -= 1
else:
left += 1
return []