Minimum Swaps 2 HackerRank solution: Looking for Minimum Swaps 2 solution for Hackerrank problem? Get solution with source code and detailed explainer video

You are given an unordered array consisting of consecutive integers \epsilon [1, 2, 3, …, n] without any duplicates. You are allowed to swap any two elements. Find the minimum number of swaps required to sort the array in ascending order.
Example
arr = [7,1,3,2,4,5,6] Perform the following steps:
i arr swap (indices)
0 [7, 1, 3, 2, 4, 5, 6] swap (0,3)
1 [2, 1, 3, 7, 4, 5, 6] swap (0,1)
2 [1, 2, 3, 7, 4, 5, 6] swap (3,4)
3 [1, 2, 3, 4, 7, 5, 6] swap (4,5)
4 [1, 2, 3, 4, 5, 7, 6] swap (5,6)
5 [1, 2, 3, 4, 5, 6, 7]

It took 5 swaps to sort the array.Go to problem statement

Explanation Video:

Youtube Channel partner: CodingCart
Mentor: Satyendra Jaiswal
Langauge: Python

Source Code:  for triplets function


# Complete the minimumSwaps function below.
def minimumSwaps(arr):
    count=0
    i=0
    while i< len(arr):
        index=arr[i]-1   # n= arr[i] index=n-1=arr[i]-1 
       # print('bef=',arr,i)
        if arr[i]!=arr[index]: #n!=[n-1]
            arr[i],arr[index]=arr[index],arr[i]
            count+=1
        else:
            i+=1
       # print('aft=',arr)    
    return count         
coming soon…
coming soon…

Full Source Code: Minimum Swaps 2 HackerRank Solution


#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the minimumSwaps function below.
def minimumSwaps(arr):
    count=0
    i=0
    while i< len(arr):
        index=arr[i]-1   # n= arr[i] index=n-1=arr[i]-1 
       # print('bef=',arr,i)
        if arr[i]!=arr[index]: #n!=[n-1]
            arr[i],arr[index]=arr[index],arr[i]
            count+=1
        else:
            i+=1
       # print('aft=',arr)    
    return count     
if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    n = int(input())

    arr = list(map(int, input().rstrip().split()))

    res = minimumSwaps(arr)

    fptr.write(str(res) + '\n')

    fptr.close()



coming soon…
coming soon…

Like this article? Follow us on Facebook and LinkedIn. You can also subscribe to our Youtube Channel.

This post is in partner with CodingCart.