这是我到目前为止:
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))
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,发现list.count()的时间复杂度是O(n),因此,这段代码将是O(n ^ 2).
有没有办法将其减少到O(nlogn)?