2016-04-26 1 views
-2

私はこのような質問を何度もPythonで繰り返しています。私はこの種の問題を解決する方法を習得したい。私を助けてください。並べ替えのない配列の中で3番目に大きい要素を見つけよう

並べ替えのない配列で3番目に大きい(または2番目に大きい、時にはk番目に大きい)要素(または項目)を検索する質問があります。 "比較回数が最小の別の条件" n)time "とする。どのように私はアプローチするのですか?またはこのためのアルゴリズムを書く方法は?

ありがとうございます!

答えて

0

nを対応する数値に変更すると、3番目に大きいものは必要ありません。

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 
関連する問題