text function permute(nums): result = [] visited = array of false, size n backtrack(nums, [], visited, result) return result function backtrack(nums, current, visited, result): if length(current) == length(nums): result.append(copy of current) return for i from 0 to length(nums) - 1: if not visited[i]: visited[i] = true current.append(nums[i]) backtrack(nums, current, visited, result) current.pop() visited[i] = false Time complexity: . Space complexity: for recursion.
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
$ curl repovive.com/roadmaps/maang-interview-prep/backtracking/permutations-pseudocode
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████████████████████████████████████████████████████████████████████████████████████