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

有重复项数字的全排列

https://www.nowcoder.com/practice/a43a2b986ef34843ac4fdd9159b69863

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param num int整型一维数组 
# @return int整型二维数组
#
import copy
class Solution:
    def permuteUnique(self , num: List[int]) -> List[List[int]]:
        # write code here
        nums = num
        n = len(nums)
        rst = []

        def fun(nums, index):
            print(nums)
            if nums not in rst:
                rst.append(copy.deepcopy(nums))

            for i in range(index, n):
                for j in range(i + 1, n):
                    nums[i], nums[j] = nums[j], nums[i]
                    fun(nums, i + 1)
                    nums[i], nums[j] = nums[j], nums[i]

        fun(nums, 0)

        rst.sort()
        return rst

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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