Class Solution
-
- All Implemented Interfaces:
public final class Solution
1053 - 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 IntArray
prevPermOpt1(IntArray arr)
-
-
Method Detail
-
prevPermOpt1
final IntArray prevPermOpt1(IntArray arr)
-
-
-
-