c_cpp 人力资源最低互换2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 人力资源最低互换2相关的知识,希望对你有一定的参考价值。

#include<bits/stdc++.h>
using namespace std;

// #Sorting #HR #InterviewPreparationKit #Problem
// https://www.hackerrank.com/interview/interview-preparation-kit

int minimumSwaps(vector<int> arr) {
    int n=arr.size(),ans=0;
    int i=0;
    while(i<n){
        if(arr[i]!=i+1){
            swap(arr[i],arr[arr[i]-1]);
            ans++;
            i--;
        }
        i++;
    }
    return ans;

}

int main(){
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		vector<int> a(n);
		for(int i=0;i<n;i++){
			cin>>a[i];
		}
		cout<<minimumSwaps(a)<<endl;
	}
	return 0;
}

以上是关于c_cpp 人力资源最低互换2的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp GFG最低成本路径

c_cpp 骑士达到目标的最低步数

c_cpp 计算站点之间的最低价格

c_cpp 最低级别的叶节点总和

c_cpp 236.二叉树的最低共同祖先 - 难度中等 - 2018.9.13

c_cpp LCA,lca,二叉树的最低共同的ancester