题解 | #没有重复项数字的全排列#

没有重复项数字的全排列

https://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1

class Solution:
    def permute(self,nums):
        result = []

        # 回溯函数,path 是当前构建的排列,used 是标记已使用的数字
        def backtrack(path, used):
            if len(path) == len(nums):
                result.append(path[:])  # 找到一个完整的排列
                return

            for i in range(len(nums)):
                if not used[i]:
                    # 做选择
                    path.append(nums[i])
                    used[i] = True

                    # 递归构造剩下的排列
                    backtrack(path, used)

                    # 撤销选择
                    path.pop()
                    used[i] = False

        used = [False] * len(nums)
        backtrack([], used)
        return result








全部评论

相关推荐

09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
09-22 19:21
南京大学 Java
牛客96763241...:刚刚想说才投十几个,养生呢,结果一看是南大本硕✌️,肯定没有问题的
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务