# -*- coding:utf-8 -*-
class Solution:
def FindNumbersWithSum(self, array, tsum):
# write code here
#思路:用头尾两个指针i,j,如果对应数字之和小于目标值,i+=1,反之j-=1
#如果相等,则比较乘积是否小于上一次的乘积,若小于,则对乘积和结果进行更新
if not array or len(array)<2:
return []
i=0
j=len(array)-1
cul=float('inf')
result=[]
while i<j:
sum=array[i]+array[j]
cul_temp=array[i]*array[j]
if sum<tsum:
i+=1
elif sum>tsum:
j-=1
else:
if cul_temp<cul:
result=[array[i],array[j]]
cul=cul_temp
i+=1
j-=1
return result