您的位置:首页 > 其它

Subsets

2015-06-10 21:25 225 查看
题目:

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

Note:

Elements in a subset must be in non-descending order.

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],

[]

]

解题思路:

在前已有所述,在此不再赘述。参考http://blog.csdn.net/u010455041/article/details/44560917

class Solution:

# @param {integer[]} nums

# @return {integer[][]}

def subsets(self, nums):

def convert_to_binary(n,limit):

bi = []

while (n>0):

bi.append(n%2)

n = n / 2

if len(bi)<limit:

bi += [0 for i in range(limit-len(bi))]

return bi

res = [[]]

length = len(nums)

power = pow(2,length)

for i in range(1,power):

bi = convert_to_binary(i,length)

tmp = []

for index,x in enumerate(bi):

if x==1:

tmp.append(nums[index])

tmp.sort()

res.append(tmp)

return res
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: