Class Solution
-
- All Implemented Interfaces:
public final class Solution2717 - Semi-Ordered Permutation\.
Easy
You are given a 0-indexed permutation of
nintegersnums.A permutation is called semi-ordered if the first number equals
1and the last number equalsn. You can perform the below operation as many times as you want until you makenumsa semi-ordered permutation:Pick two adjacent elements in
nums, then swap them.
Return the minimum number of operations to make
numsa semi-ordered permutation.A permutation is a sequence of integers from
1tonof lengthncontaining each number exactly once.Example 1:
Input: nums = 2,1,4,3
Output: 2
Explanation: We can make the permutation semi-ordered using these sequence of operations:
1 - swap i = 0 and j = 1. The permutation becomes 1,2,4,3.
2 - swap i = 2 and j = 3. The permutation becomes 1,2,3,4.
It can be proved that there is no sequence of less than two operations that make nums a semi-ordered permutation.
Example 2:
Input: nums = 2,4,1,3
Output: 3
Explanation: We can make the permutation semi-ordered using these sequence of operations:
1 - swap i = 1 and j = 2. The permutation becomes 2,1,4,3.
2 - swap i = 0 and j = 1. The permutation becomes 1,2,4,3.
3 - swap i = 2 and j = 3. The permutation becomes 1,2,3,4.
It can be proved that there is no sequence of less than three operations that make nums a semi-ordered permutation.
Example 3:
Input: nums = 1,3,4,2,5
Output: 0
Explanation: The permutation is already a semi-ordered permutation.
Constraints:
2 <= nums.length == n <= 501 <= nums[i] <= 50nums is a permutation.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegersemiOrderedPermutation(IntArray nums)-
-
Method Detail
-
semiOrderedPermutation
final Integer semiOrderedPermutation(IntArray nums)
-
-
-
-