劍指offer 和為s的兩個數字

2021-08-20 22:00:42 字數 547 閱讀 5574

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。

輸出描述:

對應每個測試案例,輸出兩個數,小的先輸出。

雙指標,乙個從左向右遍歷,乙個從右向左遍歷。

# -*- coding:utf-8 -*-

class

solution:

deffindnumberswithsum

(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

劍指offer 和為S的兩個數字

esmp esmp 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 esmp esmp 對應每個測試案例,輸出兩個數,小的先輸出。esmp esmp 首先,先考慮在遞增排序的陣列中找到兩個和為s的數字。這個思路...

劍指offer 和為S的兩個數字

題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。ps 拋物線開口向下,找到的第一組 相差最大的 就是乘積最小的,不需要比較 class solution in...

劍指offer 和為S的兩個數字

題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,使得他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。思路 遍歷陣列,先找到第乙個數dat a1 data1 data 1,然後再在陣列中找另外乙個數sum dat...