您的位置:首页 > 编程语言 > Python开发

[LeetCode]题解(python):078-Subsets

2015-12-30 13:20 609 查看
[b]题目来源:[/b]

  https://leetcode.com/problems/subsets/

[b]题意分析:[/b]

  给定一个没有重复数字的数组,返回他所有的子集。子集不能重复,子集中的元素要按照字典序排序。

[b]题目思路:[/b]

  这道题也是用递归的思想。长度为n的数组a的所有子集是数组a[:n-1]的所有子集并上其子集中每个元素append(a[n-1]).要元素按照字典序排序,首先要将数组排序。

[b]代码(Python):[/b]

  

class Solution(object):
def subsets(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
def subset(nums,index):
if  index == 0:
return [[]]
tmp = subset(nums,index - 1)
ans = tmp[:]
for i in tmp:
ans.append(i + [nums[index -1]])
return ans
nums.sort()
return subset(nums,len(nums))


View Code

转载请注明出处:http://www.cnblogs.com/chruny/p/5088529.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: