和為S的兩個數字

2021-07-26 09:56:42 字數 673 閱讀 6327

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

輸出描述:

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

因為序列是從小到大排好序的,所以從前往後遍歷的時候找到的第乙個就是最小的(找幾個資料試一下就明白,這是客觀事實)

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

class solution:

def findnumberswithsum(self, array, tsum):

ls =

if not isinstance(array, list):# 一定要判斷array是不是list,不然下面的len會出錯

return ls

num = len(array)

x = 0

y = num - 1

while x < y:

if array[x] + array[y] == tsum:

return ls

elif array[x] + array[y] < tsum:

x += 1

elif array[x] + array[y] > tsum:

y -= 1

return ls

和為S的兩個數字

題目描述 輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸入 每個測試案例包括兩行 第一行包含乙個整數n和k,n表示陣列中的元素個數,k表示兩數之和。其中1 n 10 6,k為int 第二行包含n個整數,每個陣列均為i...

和為S的兩個數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。class solution public vectorfindnumberswithsum vectorarray,i...

和為s的兩個數字

輸入乙個遞增排序的陣列和乙個數字s,在陣列中查詢兩個數,是的他們的和正好是s,如果有多對數字的和等於s,輸出兩個數的乘積最小的。輸出描述 對應每個測試案例,輸出兩個數,小的先輸出。include using namespace std bool twonumberwithsum int data,i...