LeetCode 78 Subsets - Implementation

The approach

Backtrack with include/exclude decision at each index.

function subsets(nums): result = [] def backtrack(index, current): if index == len(nums): result.append(current[:]) return current.append(nums[index]) backtrack(index + 1, current) current.pop() backtrack(index + 1, current) backtrack(0, []) return result

O(n2n)O(n \cdot 2^n) time.