⚠️ 存引用会得到什么

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

这个版本记解时写的是 res.append(path)(没有转成副本)。运行它,看解的个数和第一个解的长度

def perm_ref(a):
    res = []
    path = []
    used = [False] * len(a)
    def dfs():
        if len(path) == len(a):
            res.append(path)
            return
        for i in range(len(a)):
            if used[i]:
                continue
            used[i] = True
            path.append(a[i])
            dfs()
            used[i] = False
            path.pop()
    dfs()
    return res

r = perm_ref([1, 2, 3])
print(str(len(r)) + "/" + str(len(r[0])))
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论