n = 3
# all 为栈模型
all = []
def dfs(flag_list, layer, all):
if layer == n:
print(all)
for i in range(n):
if flag_list[i] == 0:
flag_list[i] = 1
# 第layer层存什么数
all.append(i + 1)
# 递归第layer+1层是什么
dfs(flag_list, layer + 1, all)
flag_list[i] = 0
# all.remove(i + 1)
all.pop()
flag_list = [0 for i in range(n)]
dfs(flag_list, 0, all)
全排列-python递归解法
最新推荐文章于 2022-02-26 21:07:16 发布
这个博客探讨了一种使用深度优先搜索(DFS)算法来填充3阶魔方的方法。通过递归地在每一步中改变未填充的数字,并记录路径,最终达到目标状态。算法将遍历所有可能的组合,直到找到解决方案。
185

被折叠的 条评论
为什么被折叠?



