在 Python 中定义二维数组的正确方式应该是使用 for 循环:
dp = [[0] * N for _ in range(M)]
- 1
不应该使用:
dp = [[0] * N ] * M
- 1
一维数组可以用
[
0
]
∗
N
[0] * N
[0]∗N 这种声明方式,但是二维数组不能用上面的声明方式,这会导致 dp 中的每行的列表是同一个 id,所以对其中一行的操作都会表现为每一行的操作。
在 Python 中定义二维数组的正确方式应该是使用 for 循环:
dp = [[0] * N for _ in range(M)]
不应该使用:
dp = [[0] * N ] * M
一维数组可以用
[
0
]
∗
N
[0] * N
[0]∗N 这种声明方式,但是二维数组不能用上面的声明方式,这会导致 dp 中的每行的列表是同一个 id,所以对其中一行的操作都会表现为每一行的操作。