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

没有重复项数字的全排列

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








全部评论

相关推荐

10-14 23:01
已编辑
中国地质大学(武汉) Java
CUG芝士圈:虽然是网上的项目,但最好还是包装一下,然后现在大部分公司都在忙校招,十月底、十一月初会好找一些。最后,boss才沟通100家,别焦虑,我去年暑假找第一段实习的时候沟通了500➕才有面试,校友加油
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
10-05 10:13
已编辑
HHHHaos:让这些老登来现在秋招一下,简历都过不去
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务