Subsets

LeetCode

LeetCode: https://leetcode.com/problems/subsets/

Given an integer array nums of unique elements, return all possible subsets (the power set).

1def subsets(nums: List[int]) -> List[List[int]]:
2 res = []
3 cur = []
4
5 def dfs(i: int) -> None:
6 if i == len(nums):
7 res.append(cur[:])
8 return
9 cur.append(nums[i])
10 dfs(i + 1)
11 cur.pop()
12 dfs(i + 1)
13
14 dfs(0)
15 return res
i
1
0
2
1
3
2
cur=[]
res=[]
Step 1 / 7
Step 1:
Start dfs(i=0) with cur=[] and res=[].
Pointers: i=0
Focus: select @ [0]