1. 程式人生 > >劍指Offer-57 和為S的兩個數字

劍指Offer-57 和為S的兩個數字

題目:

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

解答:

# -*- coding:utf-8 -*-
class Solution(object):
    def FindNumbersWithSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
i, j = 0, len(nums) - 1 while(i < j): if nums[i] + nums[j] == target: return [nums[i], nums[j]] else: if nums[i] + nums[j] > target: j -= 1 else: i += 1 return
[]