LeetCode 46 Permutations - Implementation

The approach

Backtrack with used set to track which elements are in current permutation.

function permute(nums): result = [] def backtrack(current): if len(current) == len(nums): result.append(current[:]) return for num in nums: if num not in current: current.append(num) backtrack(current) current.pop() backtrack([]) return result

O(nn!)O(n \cdot n!) time.