剑指offer——Python:和为S的两个数字

# -*- coding:utf-8 -*-
class Solution:
    def FindNumbersWithSum(self, array, tsum):
        # write code here
        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

猜你喜欢

转载自blog.csdn.net/oh_lala/article/details/88547245