和为S的两个数字
# -*- coding:utf-8 -*-
class Solution:
def FindNumbersWithSum(self, array, tsum):
# write code here
product = float("inf")
left = 0
right = len(array)-1
minleft = None
minright = None
while left < right:
if array[left] + array[right] == tsum:
if array[left] * array[right] < product:
product = array[left] * array[right]
minleft, minright = left, right
left += 1
right -= 1
elif array[left] + array[right] < tsum:
left += 1
else:
right -= 1
if minleft or minright:
return array[minleft], array[minright]
else:
return []