Showing:
Handle Score
@Ibrahim Nash 6564
@mb1973 5785
@Quandray 5275
@akhayrutdinov 5111
@saiujwal13083 5074
@kirtidee18 4639
@sanjay05 3762
@mantu_singh 3712
@gfgaccount 3627
@marius_valentin_dragoi 3525
Minimum number of swaps needed
Easy Accuracy: 30.79% Submissions: 273 Points: 2

Given an array arr[] of size N of non negative integers. We can perform a swap operation on any two adjacent elements in the array. The task is to find the minimum number of swaps needed to sort the array in non - decreasing order.

Example 1:

Input:
N = 4
arr[] = {4, 1, 2, 3}
Output: 3
Explanation: (4,1,2,3) -> (1,4,2,3) ->
(1,2,4,3) -> (1,2,3,4). Hence we need
a total of 3 swaps to sort it in
non - decreasing order.

â€‹Example 2:

Input:
N = 4
arr[] = {4, 4, 2, 3}
Output: 4
Explanation: (4,4,2,3) -> (4,2,4,3) ->
(4,2,3,4) -> (2,4,3,4) -> (2,3,4,4,).
Hence we need a total of 4 swap to
sort it in increasing order.

countSwaps() which takes the array arr[] and N as inputs and returns the minimum number of swaps needed to sort the array in non - decreasing order.

Expected Time Complexity: O(NlogN)
Expected Auxiliary Space: O(N)

Constraints:
1 ≤ N ≤ 104
1 ≤ arr[i] ≤ 109

### Editorial

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

#### My Submissions:

Minimum number of swaps needed