我不确定以下函数的空间复杂度是多少?是 O(n)
还是 O(1)
?
# Do rotation
def foo(arr):
arr[:] = arr[5:] + arr[:5]
最佳答案
每个 arr[5:]
和 arr[:5]
都会构建一个新列表,然后加入另一个分配给 arr< 的新列表
就地。 arr[5:]
和joined list都需要O(n)的空间复杂度,所以整体的空间复杂度是O(n) .
关于python - 空间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56285323/