美文网首页
【Leetcode】47—PermutationsII

【Leetcode】47—PermutationsII

作者: Gaoyt__ | 来源:发表于2019-08-04 10:43 被阅读0次
    一、题目描述

    给定一个可包含重复数字的序列,返回所有不重复的全排列。
    示例:

    输入: [1,1,2]
    输出:
    [
      [1,1,2],
      [1,2,1],
      [2,1,1]
    ]
    
    二、代码实现
    class Solution(object):
        def permuteUnique(self, nums):
            """
            :type nums: List[int]
            :rtype: List[List[int]]
            """
            finallen = len(nums)
            
            def dfs(nums, cur, res):
                if len(cur) == finallen: 
                    if cur in res: return
                    res.append(cur)
                    return
                
                for index, num in enumerate(nums):
                    dfs(nums[:index] + nums[index+1:], cur + [num], res)
                           
            res = []
            cur = []
            
            for index, num in enumerate(nums):
                dfs(nums[:index] + nums[index+1:], cur + [num], res)
            
            return res
    

    相关文章

      网友评论

          本文标题:【Leetcode】47—PermutationsII

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