1def subsets(nums):
2 result = []
3
4 def backtrack(index, current):
5 # Base case: reached end
6 if index == len(nums):
7 result.append(current[:])
8 return
9
10 # Include nums[index]
11 current.append(nums[index])
12 backtrack(index + 1, current)
13
14 # Backtrack: exclude nums[index]
15 current.pop()
16 backtrack(index + 1, current)
17
18 backtrack(0, [])
19 return result| Variable | Value |
|---|---|
nums | [1,2,3] |
result | - |
| Depth | Function Call |
|---|---|
| 1 | subsets([1,2,3]) |
1def subsets(nums):
2 result = []
3
4 def backtrack(index, current):
5 # Base case: reached end
6 if index == len(nums):
7 result.append(current[:])
8 return
9
10 # Include nums[index]
11 current.append(nums[index])
12 backtrack(index + 1, current)
13
14 # Backtrack: exclude nums[index]
15 current.pop()
16 backtrack(index + 1, current)
17
18 backtrack(0, [])
19 return result