From 08a077d715dd93d2c31dd91fa677030c4f508926 Mon Sep 17 00:00:00 2001 From: ayham Date: Wed, 12 May 2021 13:34:34 +0300 Subject: [PATCH] solved hackerrank's minimum swaps 2 Signed-off-by: ayham --- hackerrank.minimum.swaps.2.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 hackerrank.minimum.swaps.2.cpp diff --git a/hackerrank.minimum.swaps.2.cpp b/hackerrank.minimum.swaps.2.cpp new file mode 100644 index 0000000..63b16c4 --- /dev/null +++ b/hackerrank.minimum.swaps.2.cpp @@ -0,0 +1,20 @@ +#include +using namespace std; + +int main() { + int n, swaps = 0; + cin >> n; + vector 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; +}