擅长:python、mysql、java
<pre><code>totalArr=[]
def permute(lst,n):
''' O(n!), optimal'''
if n==1:totalArr.append(lst.copy())
else:
for i in range(n):
lst[i],lst[n-1] = lst[n-1],lst[i]
permute(lst,n-1)
lst[i],lst[n-1] = lst[n-1],lst[i]
lst = [i for i in range(1,9)] # any other lst with unique elements is ok
permute(lst,len(lst))
print(totalArr)
</code></pre>
<p>该方法可以使用分治算法生成所有排列</p>