我正在調查一個問題:給出一個任意列表,在這種情況下,它是[9,15,1,4,2,3,6],找到任何兩個數字這將總結給定的結果(在這種情況下爲10)。什麼是最有效的方式來做到這一點?我的解決方案是用大O符號表示,即使我已經過濾和排序數字,我確信有一種更有效的方法。在此先感謝最有效的方法來找到兩個數字的總和
myList = [9,15,1,4,2,3,6]
myList.sort()
result = 10
myList = filter(lambda x:x < result,myList)
total = 0
for i in myList:
total = total + 1
for j in myList[total:]:
if i + j == result:
print i,j
break
提示:不要使用標準的Python關鍵字,如'list'變量的名字,因爲它覆蓋內置的關鍵字。叫它「mylist」,或者更合適的東西,比如'numbers'。 – Evert 2015-02-07 12:29:34