劍指offer:和為S的兩個數字(python)
題目描述
輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,是的他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。輸出描述:
對應每個測試案例,輸出兩個數,小的先輸出。
# -*- coding:utf-8 -*- class Solution: def FindNumbersWithSum(self, array, tsum): # write code here ls = [] if not isinstance(array,list): return ls for i,v in enumerate(array): for v1 in array[i:]: if (v+v1==tsum): ls.append([v,v1]) if ls: return ls[0] else: return ls
相關推薦
劍指offer:旋轉陣列的最小數字(Python)
題目描述 把一個數組最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入一個非遞減排序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 例如陣列{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該陣列的最小值為1。 NOTE:給出的所有元素都大於0
劍指offer:和為S的兩個數字(python)
題目描述輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,是的他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。輸出描述:對應每個測試案例,輸出兩個數,小的先輸出。# -*- coding:utf-8 -*- class Solution: d
劍指offer:和為S的連續正數序列
java fin off cnblogs 例如 最大 求和 util else http://wiki.jikexueyuan.com/project/for-offer/question-forty-one.html 例如輸入 15,由於 1+2+3+4+5=4+5+
劍指 offer:和為S的連續正數序列
小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你
劍指offer:連結串列中環的入口結點(Python)
題目描述 一個連結串列中包含環,請找出該連結串列的環的入口結點。 解題思路 思路1: 用慣了字典,立即想到用字典儲存每個節點。當某個節點出現的次數為2時返回該節點。 def EntryNodeOfLoop(self, pHead): dic
劍指offer:滑動視窗的最大值(Python)
題目描述 給定一個數組和滑動視窗的大小,找出所有滑動窗口裡數值的最大值。例如,如果輸入陣列{2,3,4,2,6,2,5,1}及滑動視窗的大小3,那麼一共存在6個滑動視窗,他們的最大值分別為{4,4,6,6,6,5}; 針對陣列{2,3,4,2,6,2,5,1}
劍指offer:整數中1出現的次數(python)
求出1~13的整數中1出現的次數,並算出100~1300的整數中1出現的次數?為此他特別數了一下1~13中包含1的數字有1、10、11、12、13因此共出現6次,但是對於後面問題他就沒轍了。ACMer希望你們幫幫他,並把問題更加普遍化,可以很快的求出任意非負整數區間中1出現的次數。
劍指offer:陣列中的逆序對(Python)
題目描述 在陣列中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個陣列中的逆序對的總數P。並將P對1000000007取模的結果輸出。 即輸出P%1000000007 解題思路 這道題在牛客網上,有Pytho
劍指Offer值和為S的兩個數字
題目描述 輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。 思路 l表示左側位置,r表示右側位置。不斷向中間靠攏,如果array[l]+array[r] == sum,則找到正確結果,如果l>
劍指offer 42. 和為s的兩個數字
原題 輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。 輸出描述: 對應每個測試案例,輸出兩個數,小的先輸出。 Reference Answer 思路分析 設定兩個指標,一個指向陣列的起點
劍指Offer-57 和為S的兩個數字
題目: 輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。 輸出描述: 對應每個測試案例,輸出兩個數,小的先輸出。 解答: # -*- coding:utf-8 -*- class Solution(o
劍指offer:和位s的兩個數字(java)
/** * 題目: * 輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,使得他們的和正好是S, * 如果有多對數字的和等於S,輸出兩個數的乘積最小的 * 解題思路: * 具體見程式碼 */ import java.util
[劍指offer] 42. 和為S的兩個數字
題目描述 輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,使得他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。 輸出描述: 對應每個測試案例,輸出兩個數,小的先輸出。 思路:左右指標夾逼 class Solution { publ
劍指Offer42:和為S的兩個數字
思路: 數列滿足遞增,設兩個頭尾兩個指標low和high, 若array[low]+array[high]==tsum,就是答案(low和high相差越遠乘積越小) 若array[low]+array[high]>tsum,high-=1 若array[low]+array[h
劍指Offer(57)和為S的兩個數字
題目描述 輸入一個遞增排序的陣列和一個數字S,在陣列中查詢兩個數,是的他們的和正好是S,如果有多對數字的和等於S,輸出兩個數的乘積最小的。 輸出描述: 對應每個測試案例,輸出兩個
【劍指offer】和為S的連續正數序列
col ++ log 指針 fin ger bsp style res 題目:小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到
【劍指offer】 和為s的連續正數序列,C++實現
轉載 urn 劍指offer find small vector tps cout AD 原創博文,轉載請註明出處! # 題目 # 思路 設置兩個輔助變量small和big,small表示序列的最小值,big表示序列的最大值。如果sum(small ~ big
劍指offer 41. 和為S的連續正數序列
原題 小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不
[劍指offer] 41. 和為S的連續正數序列
題目描述 小明很喜歡數學,有一天他在做數學作業時,要求計算出9~16的和,他馬上就寫出了正確答案是100。但是他並不滿足於此,他在想究竟有多少種連續的正數序列的和為100(至少包括兩個數)。沒多久,他就得到另一組連續正數和為100的序列:18,19,20,21,22。現在把問題交給你,你能不能也
劍指offer:資料流中的中位數(java)
/** * 題目: * 如何得到一個數據流中的中位數?如果從資料流中讀出奇數個數值, * 那麼中位數就是所有數值排序之後位於中間的數值。如果從資料流中讀出偶數個數值, * 那麼中位數就是所有數值排序之後中間兩個數的平均值。我們使用Ins