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

有重复项数字的所有排列

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

背一下吧:if i in curr or (i >= 1 and nums[i] == nums[i-1] and i-1 not in curr):

#
# 
# @param num int整型一维数组 
# @return int整型二维数组
#
class Solution:
    def permuteUnique(self , num ):
        # write code here
        def backtrack(nums, curr):
            print(curr)
            if len(curr) == len(nums):
                res.append([nums[i] for i in curr[:]])
                return

            for i in range(len(nums)):
                if i in curr or (i >= 1 and nums[i] == nums[i-1] and i-1 not in curr):
                    continue
                curr.append(i)
                backtrack(nums, curr)
                curr.pop()

        res = []
        num.sort()
        backtrack(num, [])
        return res
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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