Practice
JavaScriptData StructuresReactConcepts
Sign in
← Back to problems

Generate Permutations

Recursion & Backtrackingmedium

Implement `permute(nums)` returning all permutations, produced by standard backtracking (try each unused element in order).

Sample tests

Input: permute([1,2,3])
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Input: permute([1])
Output: [[1]]

+ 1 hidden test run on Submit.

Hints

Common pitfalls
  • Forgetting to unmark on backtrack produces missing permutations.

Learning resources

  • Wikipedia: Backtracking
Approach & explanation (try first)

Backtracking with a used set generates all permutations. O(n!) outputs.

Loading...
⌘/Ctrl + Enter

Run your code to see results.