一.题意 给定数组,求交换几次相邻元素能是数组有序. 二.题解 刚开始以为是水题,心想这不就是简单的冒泡排序么.但是毫无疑问地超时了,因为题目中n<500000,而冒泡排序总的平均时间复杂度为,显然不满足要求.还有就是数组中的元素0 ≤ a[i] ≤ 999,999,999,要用long long或_int64,在java中要用long.再一想用最快的快速排序,发现也不行.快排基于二分查找,交换次数很定要比题目要求的少.在想就是归并排序了,我们可以用归并排序求数组的逆序数.逆序数就等于冒泡排序的…