Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    765 - Couples Holding Hands\.

    Hard

    There are n couples sitting in 2n seats arranged in a row and want to hold hands.

    The people and seats are represented by an integer array row where row[i] is the ID of the person sitting in the <code>i<sup>th</sup></code> seat. The couples are numbered in order, the first couple being (0, 1), the second couple being (2, 3), and so on with the last couple being (2n - 2, 2n - 1).

    Return the minimum number of swaps so that every couple is sitting side by side. A swap consists of choosing any two people, then they stand up and switch seats.

    Example 1:

    Input: row = 0,2,1,3

    Output: 1

    Explanation: We only need to swap the second (row1) and third (row2) person.

    Example 2:

    Input: row = 3,2,0,1

    Output: 0

    Explanation: All couples are already seated side by side.

    Constraints:

    • 2n == row.length

    • 2 &lt;= n &lt;= 30

    • n is even.

    • 0 &lt;= row[i] &lt; 2n

    • All the elements of row are unique.

    • 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 minSwapsCouples(IntArray row)
      • Methods inherited from class java.lang.Object

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