Class Solution
-
- All Implemented Interfaces:
public final class Solution1053 - Previous Permutation With One Swap.
Medium
Given an array of positive integers
arr(not necessarily distinct), return the lexicographically largest permutation that is smaller thanarr, that can be made with exactly one swap. If it cannot be done, then return the same array.Note that a swap exchanges the positions of two numbers
arr[i]andarr[j]Example 1:
Input: arr = 3,2,1
Output: 3,1,2
Explanation: Swapping 2 and 1.
Example 2:
Input: arr = 1,1,5
Output: 1,1,5
Explanation: This is already the smallest permutation.
Example 3:
Input: arr = 1,9,4,6,7
Output: 1,7,4,6,9
Explanation: Swapping 9 and 7.
Constraints:
<code>1 <= arr.length <= 10<sup>4</sup></code>
<code>1 <= arri<= 10<sup>4</sup></code>
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntArrayprevPermOpt1(IntArray arr)-
-
Method Detail
-
prevPermOpt1
final IntArray prevPermOpt1(IntArray arr)
-
-
-
-