摘抄的大佬的回溯法三要素:
- 有效结果
- 回溯范围及答案更新
- 剪枝条件
自己理解:回溯范围是这个题目中最重要的一部分;
分析清楚题意,每次只会选择当前索引之后的索引数字。‘
因此代码如下:
class Solution:
def subsets(self, nums):
result = []
def back(index,tmp):
result.append(tmp)
for i in range(index,len(nums)):
back(i + 1,tmp + [nums[i]])
back(0,[])
return result