题目:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
代码:
class Solution:
def func(self , nums , s):
if len(nums) <= 1:
return []
lo , hi = 0 , len(nums) - 1
while lo < hi:
if nums[lo] + nums[hi] < s:
lo += 1
if nums[lo] + nums[hi] > s:
hi -= 1
return [nums[lo] , nums[hi]]
return []
返回的即乘积最小的组合。