每日一题 【每日一题】带重复元素的排列-Python-20211120

Jack · 2021年11月20日 · 最后由 Jack 回复于 2021年11月21日 · 93 次阅读
本帖已被设为精华帖!

给出一个含有重复数字的列表,找出列表所有的排列

Jack 将本帖设为了精华贴 11月20日 16:34

参考代码:

class Solution:
    def permuteUn(self, nums):
        def _permute(result, temp, nums):
            if nums == []:
                result += [temp]
            else:
                for i in range(len(nums)):
                    if i > 0 and nums[i] == nums[i-1]:
                        continue
                    _permute(result, temp + [nums[i]], nums[:i] + nums[i + 1:])
        if nums is None:
            return []
        if len(nums) == 0:
            return [[]]
        result = []
        _permute(result, [], sorted(nums))
        return result

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册