solved hackerrank's minimum swaps 2

Signed-off-by: ayham <altffour@protonmail.com>
This commit is contained in:
ayham 2021-05-12 13:34:34 +03:00
parent 5f7f8dbecf
commit 08a077d715
No known key found for this signature in database
GPG Key ID: 81D38F7122AFCC94
1 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,20 @@
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, swaps = 0;
cin >> n;
vector<int> arr(n);
for (int i = 0; i < n; i++) cin >> arr[i];
for (int i = 0; i < arr.size(); i++) {
if (arr[i] == i+1) continue;
iter_swap(arr.begin() + i, arr.begin() + arr[i]-1);
swaps++;
i--;
}
cout << swaps << endl;
return 0;
}