090 Subsets 2

090 Subsets 2

这道题就是要考虑重复的状况和 permutations 2 一样的排除重复可能的组合就是在当前位置,如果选择的值和前面那个值一样 则跳过不进行选择第二次

class Solution:
    # @param {integer[]} nums
    # @return {integer[][]}
    def subsetsWithDup(self, nums):
        nums.sort()
        ans= []
        self.help(nums,[],ans)
        return ans      

    def help(self, nums, li, ans):
        ans.append(li)
        for ind, val in enumerate(nums):
            if ind-1>=0 and val==nums[ind-1]:
                continue
            self.help(nums[ind+1:], li+[val], ans)

 

posted @ 2015-07-16 15:14  dapanshe  阅读(104)  评论(0编辑  收藏  举报