劍指offer42-和為S的兩個數字
阿新 • • 發佈:2020-12-06
題目描述
輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。
返回值描述:
對應每個測試案例,輸出兩個數,小的先輸出。
示例
輸入 [1,2,4,7,11,15],15
返回值 [4,11]知識點回顧
數學、陣列、雙指標
程式碼
解法一:暴力解題,雙重迴圈
# -*- coding:utf-8 -*- class Solution: def FindNumbersWithSum(self, array, tsum): # write code here lenth=len(array)for i in range(lenth): for j in range(i+1,lenth): if array[i]+array[j]==tsum: try: if array[i]*array[j]<a*b: a=array[i] b=array[j] except: a=array[i] b=array[j] try: return [a,b] except: return []