Re: [問題] 想請教一個問題
※ 引述《DP1010 (DP)》之銘言:
: 現在有一個list
: 假設長這樣 ['369','200','116','90','180','638','724','920','14','50','11','65']
: 我現在想要找出這list裡面數字的最大5個
: 其依序的"位置"為何
: 比如這個list最大的數字 依序為 920 724 638 369 200
: 其依序的位置為 7 6 5 0 1
: 想請教各位大大要怎麼做
: 謝謝
如果你的list中都是非負整數,而且不太大,而且你又不在意記憶體
可以用類似bitmap的方法
data=[num...]
container=[[]*1000000]
for i in range(len(data)):
container[data[i]]+=[i]
最後再從container反向找出5個你要的
這方法好處是O(n)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.140.149
※ 編輯: Arton0306 來自: 220.135.140.149 (02/12 15:08)
→
02/12 16:26, , 1F
02/12 16:26, 1F
→
02/12 18:25, , 2F
02/12 18:25, 2F
→
02/12 20:08, , 3F
02/12 20:08, 3F
→
02/12 20:16, , 4F
02/12 20:16, 4F
→
02/12 21:49, , 5F
02/12 21:49, 5F
討論串 (同標題文章)