按照归并排序的思想: 划分 归并排序每一部分 合并并统计逆序数 逆序数分为3部分: 划分的左部分 划分的右部分 跨越划分点的,设j>i,此时排序已经完成,如果a[i]>a[j],则左半部分剩余元素均大于a[j],也就是这部分的逆序数为 mid-i+1 对上述三部分求和即可得。 public class Solution { int mod = 1000000007; long mergeSort(int[] array, int left, int right) { if (left >= right) { ...