MediumBacktracking
Permutations
metaamazongooglemicrosoftbloomberglinkedinapple
Given an array nums of distinct integers, return all the possible permutations. You can return the answer in any order.
Example 1:
Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Explanation: There are 3! = 6 permutations of [1,2,3].
Example 2:
Input: nums = [0,1]
Output: [[0,1],[1,0]]
Explanation: There are 2 permutations of [0,1].
Example 3:
Input: nums = [1]
Output: [[1]]
Explanation: A single element has only one permutation.
Examples
Example 1
Input: nums = [1,2,3]
Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Explanation: All 6 permutations of [1,2,3] are listed.
Example 2
Input: nums = [0,1]
Output: [[0,1],[1,0]]
Explanation: There are 2 permutations of a 2-element array.
Example 3
Input: nums = [1]
Output: [[1]]
Explanation: A single element has exactly one permutation.
Constraints
- -1 <= nums.length <= 6
- --10 <= nums[i] <= 10
- -All the integers of nums are unique
Optimal Complexity
Time
O(n! * n)
Space
O(n!)
Practice this problem with an AI interviewer
TechInView conducts a full voice mock interview — the AI asks clarifying questions, evaluates your approach, watches you code, and scores you on 5 dimensions. Just like a real FAANG interview.
Start a free interview