1.题目:
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。
2.代码:
class Solution:
def twoSum(self
, numbers
: List
[int], target
: int) -> List
[int]:
lens
= len(numbers
)
if lens
== 0 or lens
==1:
return None
i
,j
= 0,lens
-1
while i
<j
:
if numbers
[i
]+numbers
[j
]>target
:
j
= j
-1
elif numbers
[i
]+numbers
[j
]<target
:
i
= i
+1
else:
return [i
+1,j
+1]
return None