题解 | #和为S的两个数字#
和为S的两个数字
https://www.nowcoder.com/practice/390da4f7a00f44bea7c2f3d19491311b
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param array int整型一维数组
# @param sum int整型
# @return int整型一维数组
#
class Solution:
def FindNumbersWithSum(self , array: List[int], sum: int) -> List[int]:
# write code here
'''
定义2个指针i,j i从数组的最前面开始,
j从数组的最后面开始,遍历数组,如果和比sum小,将i调大,如果和比sum大,将j的值调小
结束遍历的条件是i>=j
'''
i = 0
j = len(array)-1
while i<j:
if array[i]+array[j]==sum:
return [array[i],array[j]]
elif array[i] + array[j]<sum:
i+=1
elif array[i] + array[j]>sum:
j-=1
return []


