-2
我在python中一遍又一遍地提到了這些類似的問題。我想掌握解決這類問題的方法。請幫幫我。在不排序的情況下查找數組中的第3大元素
這些問題就像是「查找數組中第三大(或第二大或有時是第k大)元素(或項目),而沒有排序」有時會出現另一個條件「 n)時間「。我如何接近?或者如何爲此編寫算法?
謝謝!
我在python中一遍又一遍地提到了這些類似的問題。我想掌握解決這類問題的方法。請幫幫我。在不排序的情況下查找數組中的第3大元素
這些問題就像是「查找數組中第三大(或第二大或有時是第k大)元素(或項目),而沒有排序」有時會出現另一個條件「 n)時間「。我如何接近?或者如何爲此編寫算法?
謝謝!
將n
更改爲相應的數字,如果你不想要第三大。
largest[0]
是第n位最大的數字。
n=3
haystack=[1,2,3]
largest=[0]*n
for a in haystack:
k=n
for i in range(n):
if a<=largest[i]:
k=i
break
if k:
k-=1
for j in range(k):
largest[j]=largest[j+1]
largest[k]=a