dfs实现任意n个数的全排列
程序员文章站
2023-12-21 20:11:58
...
arr=[4,7,3,8] # 这里可以把它替换成任意的数组
a=[0 for i in range(10)] #存放每一种组合遍历过程中的数字
book=[0 for i in range(10)] #标记数组
n=3
def dfs(step):
# 尝试每一种可能
for num in arr:
if book[num]==0:
a[step]=num
book[num]=1
dfs(step+1)
book[num]=0
# 边界判断
if step==len(arr)+1:
print(a[1:step])
return
if __name__=="__main__":
dfs(1)