這是我到目前爲止有:計數occurence
alist=[1,1,1,2,2,3,4,2,2,3,2,2,1]
def icount(alist):
adic={}
for i in alist:
adic[i]=alist.count(i)
return adic
print(icount(alist))
我做了一些研究,以找出list.count()的時間複雜度爲O (n),因此,這個代碼將是O(n^2)。
有沒有辦法將它減少到O(nlogn)?
參見['collections.Counter'(HTTP://文檔.python.org/3 /庫/ collections.html#collections.Counter)。正是這種工作。 – falsetru
如果你只增加'adic [i]',複雜度應該是O(n)。 – Barmar
但我怎麼知道它的時間複雜度? –