Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    2717 - Semi-Ordered Permutation.

    Easy

    You are given a 0-indexed permutation of n integers nums.

    A permutation is called semi-ordered if the first number equals 1 and the last number equals n. You can perform the below operation as many times as you want until you make nums a semi-ordered permutation:

    • Pick two adjacent elements in nums, then swap them.

    Return the minimum number of operations to make nums a semi-ordered permutation.

    A permutation is a sequence of integers from 1 to n of length n containing 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 <= 50

    • 1 <= nums[i] <= 50

    • nums is a permutation.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Integer semiOrderedPermutation(IntArray nums)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait