我正在做Project Euler Problem 15。我使用了正确的算法,但它似乎不起作用。这是我的代码:
f = [[0] * 21] * 21
# init the list
for i in range(21):
f[0][i] = 1
f[i][0] = 1
for i in range(21):
for j in range(21):
f[i][j] = f[i-1][j] + f[i][j-1]
print f[20][20]
当我完成初始化列表时,我打印了它。我期待它像[[1, 1, 1...], [1, 0, 0...]...]
,但它变成了[[1, 1, 1...], [1, 1, 1...]...]
,我不知道为什么。
我曾经使用类 C 语言,我认为 Python 中的列表有点像 C 中的数组,所以我以相同的方式使用它们。