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

有重复项数字的全排列

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

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param num int整型一维数组 
# @return int整型二维数组
#
class Solution:
    def permuteUnique(self , num: List[int]) -> List[List[int]]:
        # write code here
        n=len(num)
        res=[]
        def backtrack(first=0):
            if first==n:
                # 判断是否在结果中
                temp =num.copy()
                if temp not in res:
                    res.append(temp)
            for i in range(first,n):
                num[first],num[i] =num[i],num[first]
                backtrack(first+1)
                num[first],num[i]=num[i],num[first]
        # 排序
        num.sort()
        backtrack(0)
		# 对结果再排序   案例[2,-1,3]
        res.sort()
        return res 


全部评论

相关推荐

码农顶针:估计让你免费辅导老板孩子的学习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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