题目:
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)
说明:解集不能包含重复的子集
来源:力扣(LeetCode)
一、回溯法:
def subsets(nums):
item = []
result = []
result.append(item)
def generate(i, nums):
if i >= len(nums):
return
item.append(nums[i])
result.append(list(item))
generate(i + 1, nums)
item.pop() # 还原
generate(i + 1, nums)
generate(0, nums)
return result
二、迭代法:
data_array = [1,2,3,5]
def subsets(nums):
result = [[]]
for i in nums:
result += [[i] + sub for sub in result]
# print('i is {},result is {}'.format(i,result))
return result
结果: