|
1
3
这
是渐近最优的:
这是
不
O(n)。时间复杂性并不像“嵌套循环数=n的幂”那么简单。这里会有什么?如果我给你的话,不可能是字典里的项目数
相反,这是O(计数和),正如所说,它是渐近最优的(尽管就输入大小而言仍然相当糟糕(指数))。你真的想重复每一个键吗
这并不意味着它实际上是最优的——正如Roman所证明的那样,常数因子可以减少。例如,您还可以通过对值求和来计算列表需要多长时间,然后创建一个具有适当容量的列表,这样就不需要重新分配。 无论哪种方式,您提出的第二个解决方案还是Roman提出的解决方案都不会比您当前的解决方案快。 |
|
2
1
结合
itertools
使用列表理解的另一种选择:
有点加长的dict的计时
|
|
3
-1
我找到了一个解决方案,它比
https://docs.python.org/3/library/collections.html#collections.Counter 不确定确切的时间复杂性
|