小编D.X*_*X.D的帖子

计算时间复杂度为O(nlogn)的列表中的出现次数

这是我到目前为止:

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)?

python list python-3.x

7
推荐指数
2
解决办法
3200
查看次数

标签 统计

list ×1

python ×1

python-3.x ×1