8
在此版本中,我通过将同一方法中的两个循环合并为一个循环来修改代码。这一增强提高了效率。
在此版本中,我通过将同一方法中的两个循环合并为一个循环来修改代码。这一增强提高了效率。
来源:在梦中向我透露
抛开笑话不谈,Python 中的列表推导式更快,除非迭代器成本很高,否则我怀疑它会更快
你好@ExtReMLapin,我很感激你的问题。虽然列表推导式在 Python 中速度更快,但我将两个循环合并为一个循环,以将时间复杂度从 O(2) 提高到 O(1)。这应该显着减少开销并提高性能,尤其是在输入较大的情况下。谢谢 :)
@arjun-234 您的代码缺少另一件事可能会使其比仅使用列表理解慢。
基本上是这样的:
arr = [0] * length
for i in range(length):
arr[i] = input[i]
比这个更快:
arr = []
for i in range(length):
arr.append(input[i])
但列表理解仍然是其中最快的。不仅如此,它看起来也更干净?。
问候@twoal,是的,你是对的,列表理解总是更快,但特别是对于较大的输入,更少的迭代总是好的,这可以提高时间复杂度方面的性能。谢谢 :)