美文网首页
47. Permutations II

47. Permutations II

作者: Mree111 | 来源:发表于2019-10-18 14:01 被阅读0次

    Description

    有重复的数,找所有unique全排列

    Solution

    把每一个数字拎到1st位置,num删掉该字符
    首先需要sort array 然后在permute的时候如果遇到连续相同的,就跳过

    import copy
    class Solution(object):
        def permuteUnique(self, nums):
            """
            :type nums: List[int]
            :rtype: List[List[int]]
            """
            if nums is None:
                return []
    
            if len(nums) == 0:
                return [[]]
            self.res = []
            self.dfs(sorted(nums),[])
            return self.res
            
        def dfs(self,nums,trace):
            if 0 == len(nums):
                self.res .append(trace)
                return 
            for i in range(len(nums)):
                if i>0 and nums[i]==nums[i-1]:  #关键的一行!
                    continue
                self.dfs(nums[:i]+nums[i+1:],trace+[nums[i]])
              
            return
    

    相关文章

      网友评论

          本文标题:47. Permutations II

          本文链接:https://www.haomeiwen.com/subject/xbuimctx.html