Offer_ dichotomy prove safety and _ the two numbers S

And the two numbers S

Here Insert Picture Description

# -*- 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 []         
Published 31 original articles · won praise 0 · Views 739

Guess you like

Origin blog.csdn.net/freedomUSTB/article/details/105011693