现有一个n个整数的序列,你要做的就是交换两个数的位置直到整个序列按照升序排列,那么将这个整数序列排好序,需要交换多少次?例如,1,2,3,5,4,我们只需要交换一次,即将5和4交换即可。

输入描述:

第一行输入一个正整数n(n≤1000),表示数字序列的元素个数,占一行;接下来一行输入从1到n的n个整数排序,中间用空格隔开

输出描述:

输出序列升序排列需要的最少交换次数

输入例子:

4
4 3 2 1

输出例子:

6

2 1 收藏


直接登录
最新评论
  • 胖胖 学生 02/25

    没搞懂例子,是必须挨着的两个数才能交换位置哇?

  • yyy1258 在读研究生+数据分析师 04/20

     

  • Ares Ou 软件工程师 04/21

    把合并排序的算法改进一下就可以了

  • leonardo_1001   04/22

    这题出的真是无力吐槽,按照题中的输入输出应该是只能相邻的元素交换,直接用选择或者冒泡,每次交换计数器加1就好了。

    ps:贴一个任意元素都可交换的最少次数代码