和为s的两个数字

题目描述
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输出描述:

对应每个测试案例,输出两个数,小的先输出。

python solution:

# -*- coding:utf-8 -*-
class Solution:
    def FindNumbersWithSum(self, array, tsum):
        small,big = 0,len(array)-1
        if big<1:
            return []
        while small<big:
            currentsum = array[small]+array[big]
            if currentsum==tsum:
                return [array[small],array[big]]
            if currentsum>tsum:
                big -= 1
            else:
                small += 1
        return []

原文地址:https://www.cnblogs.com/bernieloveslife/p/10430560.html