
Next Permutation (medium)
Problem Statement
Given an array of integers nums, return the next permutation of nums.
A permutation of the array is an arrangement of its elements in the linear order or particular sequence.
- For example, permutations of the
[2, 1, 3]array are[3,2,1], [3,1,2], [1,2,3], [1,3,2], [2, 1, 3], and[2, 3, 1].
A next permutation of the array is the next smallest lexicographically greater permutation of array elements.
- For example, next permutation of
[2, 1, 3]is[2, 3, 1], which is smallest lexicographically greater permutation.
If no higher permutation is possible, the array should be rearranged into its lowest possible order (ascending).
- For example, next permutation for
[3, 2, 1]is[1, 2, 3]as[3, 2, 1]doesn't have lexicographically larger permutation.
Examples
-
Example 1:
- Input:
[1, 3, 5, 4, 2] - Expected Output:
[1, 4, 2, 3, 5] - Justification: The next permutation is obtained by swapping
3with the next higher number (4) and then sorting the numbers after4in ascending order.
- Input:
-
Example 2:
- Input:
[2, 3, 6, 5, 4, 1] - Expected Output:
[2, 4, 1, 3, 5, 6] - Justification: The next permutation is found by swapping
3with the next higher number (4) in the sequence following it and then sorting the numbers after4in ascending order.
- Input:
-
Example 3:
- Input:
[1, 1, 5] - Expected Output:
[1, 5, 1] - Justification: The next immediate permutation after
[1, 1, 5]is[1, 5, 1].
- Input:
Try it yourself
Try solving this question here:
Python3
Python3
. . . .
.....
.....
.....
Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory