我试图在Pythonby refering the video here中实现最长的递增子序列。你知道吗
我想我做对了。对我来说,代码的试运行也很好。但是输出不正确。你知道吗
d = [3, 2, 6, 4, 5, 1]
l = []
l.append([d[0]])
for i in range(1, len(d)):
l.append([])
for j in range(0, i):
if d[j] < d[i] and len(l[i]) < len(l[j]) + 1:
l[i] = l[j]
l[i].append(d[i])
print(l)
预期输出:[[3], [2], [2, 6], [2, 4], [2, 4, 5], [1]]
实际输出:[[3], [2, 6, 4, 5], [2, 6, 4, 5], [2, 6, 4, 5], [2, 6, 4, 5], [1]]
任何帮助都将不胜感激!你知道吗
这只是另一个参考问题。你知道吗
请注意行
l[i] = l[j]
,它使l[i]
与l[j]
的列表相同,因此当您稍后修改l[i]
时,l[j]
也会被修改。您可能需要一份副本:这三条线是相等的,所以选择一个你喜欢的。你知道吗
相关问题 更多 >
编程相关推荐