#Z02013. 数列排序
数列排序
题目描述
给定一个数列a,这个数列满足ai != aj(i != j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换?
输入格式
第一行是一个整数,代表数字个数n。
第二行有n个整数用空格分隔开,表示数列a。
1≤n≤105,−231i231−1。
输出格式
只有一行,包含一个数,表示最少的交换次数。
8
8 23 4 16 77 -5 53 100
5
提示
关于第一组样例,以下5步可以完成题目要求
1、8和-5交换 形成数列 -5 23 4 16 77 8 53 100
2、23和4交换 形成数列 -5 4 23 16 77 8 53 100
3、23和8交换 形成数列 -5 4 8 16 77 23 53 100
4、77和23交换 形成数列 -5 4 8 16 23 77 53 100
5、53和77交换 形成数列 -5 4 8 16 23 53 77 100(满足题目要求)
豫公网安备41072702000346号