Skip to content

Commit 1d0f980

Browse files
committed
Subsets
1 parent 2d72f95 commit 1d0f980

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

Backtracking/78-Subsets.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
'''
2+
Subsets
3+
Given an integer array nums of unique elements, return all possible subsets (the power set).
4+
5+
The solution set must not contain duplicate subsets. Return the solution in any order.
6+
7+
Input: nums = [1,2,3]
8+
Output: [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
9+
10+
'''
11+
def subsets(nums):
12+
res = []
13+
14+
subset = []
15+
16+
def dfs(i):
17+
if i >= len(nums):
18+
res.append(subset.copy())
19+
return
20+
#decision to include nums[i]
21+
subset.append(nums[i])
22+
dfs(i + 1)
23+
#decision NOT to include nums[i]
24+
subset.pop()
25+
dfs(i + 1)
26+
27+
dfs(0)
28+
return res
29+
30+
#T :O(2^n)
31+
#S :O(n)

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
- [x] [Backtracking](Backtracking)
44
- [x] [Word Search](Backtracking/79-Word-Search.py)
55
- [x] [Letter Case Permutation](Backtracking/784-letter-case-permutation.py)
6+
- [x] [Subsets](Backtracking/78-Subsets.py)
67

0 commit comments

Comments
 (0)