本文共 791 字,大约阅读时间需要 2 分钟。
Given a set of distinct integers, nums, return all possible subsets (the power set).
Note: The solution set must not contain duplicate subsets.
Example:
Input: nums = [1,2,3]Output:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]
统计所有子集。
用递归的方法比较简单,但是我没想出来。。
注意起始的final是二维数组。过程有点像搭积木(倾斜)。
class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: final=[[]] for num in nums: final+=[item+[num] for item in final] return final
再有就是用dfs的方法。
class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: final=[] def dfs(path, index): final.append(path) for i in range(index,len(nums)): dfs(path+[nums[i]], i+1) dfs([], 0) return final
转载地址:http://fcrbb.baihongyu.com/