我试图编写递归代码以获取数组的所有排列。 在将答案附加到列表时会给出意外的答案。 有人可以帮忙吗..
def permute(A):
p = []
def permute_util(a,l,r):
if l==r:
p.append(a)
print (a)
else:
for i in range(l,r+1):
a[l],a[i] = a[i],a[l]
permute_util(a,l+1,r)
a[l],a[i] = a[i],a[l]
permute_util(A,0,len(A)-1)
print (p)
输出-
[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 2, 1]
[3, 1, 2]
[[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
输出的最后一行不是我期望的。.我缺少什么?