78. Subsets

2016-12-12  本文已影响0人  阿团相信梦想都能实现
use backtracking
class Solution(object):
    def subsets(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        
        def subsets(res,nums,curr,begin):
            res.append(curr[:])
            for i in xrange(begin, len(nums)):
                curr.append(nums[i])
                subsets(res,nums,curr,i+1)
                
                curr.pop()
                
        res=[]
        curr=[]
        subsets(res,nums,curr,0)
        return res
class Solution(object):
    def subsets(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        
        res=[[]]
        if not nums:return res
        curr=[]
        sorted_nums=sorted(nums)
        for num in sorted_nums:
            group=[]
            for subset in res:
                curr=subset[:]
                curr.append(num)
                group.append(curr)
            res+=group    
        return res
上一篇 下一篇

猜你喜欢

热点阅读