pythonはO(n)複雑度アルゴリズムを実現して10万以内の数字を並べ替え,この10万数字は最大100である
466 ワード
条件付き最大100の数字を与えているので、上位100の数字をカウントして、数字ごとに何回出てから出力すればいいのでしょうか.
import random
def count_sort(li,max):
count=[0 for i in range(max+1)]# , 100 0
for num in li:
count[num]+=1#li , 1
i=0
for num,m in enumerate(count):#num ,m
for j in range(m):
li[i]=num
i+=1
return li
data=[]
for i in range(1000000):
data.append(random.randint(0,100))
count_sort(data,100)