码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 78. Subsets

时间:2017-01-08 08:15:38      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:ret   tco   blog   nbsp   dfs   turn   integer   sel   distinct   

Given a set of distinct integers, nums, return all possible subsets.

Note: The solution set must not contain duplicate subsets.

For example,
If nums = [1,2,3], a solution is:

[
  [3],
  [1],
  [2],
  [1,2,3],
  [1,3],
  [2,3],
  [1,2],
  []
]

思路: 使用DFS,找出所有的 size 为 1,2,3, ..., n 的subset。

 1 class Solution(object):
 2     def subsets(self, nums):
 3         """
 4         :type nums: List[int]
 5         :rtype: List[List[int]]
 6         """
 7         n = len(nums)
 8         ans = [[]]
 9         
10         for k in range(1,n+1):
11             cur = []
12             self.DFS(nums, ans, [], k)
13         
14         return ans
15             
16     def DFS(self, nums, ans, line, k):
17         if len(line) == k:
18             ans.append([x for x in line])
19             return
20         
21         for i, x in enumerate(nums):
22             line.append(x)
23             self.DFS(nums[i+1:], ans, line, k)
24             line.pop()

 

Leetcode 78. Subsets

标签:ret   tco   blog   nbsp   dfs   turn   integer   sel   distinct   

原文地址:http://www.cnblogs.com/lettuan/p/6261364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!