0
点赞
收藏
分享

微信扫一扫

求所有子集 -- Python解法

给定一个整数数组 nums ,数组中的元素互不相同(若数组中的元素存在相同的,则添加1、2处代码即可) 。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。

def subset(nums):
    res=[]
    n=len(nums)
    def backtrace(index,tmp):
        res.append(tmp[:])
        for i in range(index,n):
            '''
            if i>index and nums[i]==nums[i-1]:   #1
                continue                         #2
    		 '''
            tmp.append(nums[i])
            backtrace(i+1,tmp)
            tmp.pop()
    backtrace(0,[])
    return res            
举报

相关推荐

0 条评论