数组的逆序
直接上代码
这种方法简单来说,就是在归并处理后,将我们需要的答案分成三个部分。部分一是mid以左,部分二是mid以右,部分三是left和right。
归并的目的是让数从小到大排列,方便分析。
从小到大排列后,指针j每移动一次left和right中逆序对的数目就等于res+=mid-i+1。虽然数组中数的顺序被改变,但是left和right中数的相对位置没有改变,在前面的依然在前面,在后面的依然在后面,因此不会对结果造成影响。而对于left部分或者right部分,就可以当做一个长度为mid的部分三处理。