劍指offer 和爲s的兩個數字

題目

輸入一個遞增排序的數組和一個數字S,在數組中查找兩個數,是的他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。
輸出描述:
對應每個測試案例,輸出兩個數,小的先輸出。

思路

雙指針,一個從左向右遍歷,一個從右向左遍歷。

代碼

# -*- coding:utf-8 -*-
class Solution:
    def FindNumbersWithSum(self, array, tsum):
        # write code here
        left = 0; right = len(array) - 1
        while left < right:
            num = array[left] + array[right]
            if num == tsum: return[array[left], array[right]]
            elif num < tsum: left += 1
            else: right -= 1
        return []
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章