组合类DFS-079求子集
问题:给定一个整数数组 nums
,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。
回溯dfs
class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: res = [] self.back_tracking(nums, 0, [], res) # 原list,起始索引,path(当前路径),结果 return res def back_tracking(self, nums, idx, path, res): res.append(path[:]) for i in range(idx, len(nums)): path += [nums[i]] self.back_tracking(nums, i+1, path, res) # 开始分支 path.pop() # 回退 return
时刻记着自己要成为什么样的人!