题目
给定一个数组,求该数组中逆序对的个数。如果两个元素a,b满足a在b的前面,但a
> b,则(a, b)是一个逆序对。
具体描述请见hihoCoder。
解题思路
采用Merge Sort的思想,考察在一次merge的过程中,可以直接将参与merge的两个数组之间的逆序对统计出来(即merge进行中每次插入左边数组的一个元素时,所有已插入的右边数组的元素都与其构成一个逆序对)。
时间复杂度
时间复杂度为NlogN。
代码
1 |
|
给定一个数组,求该数组中逆序对的个数。如果两个元素a,b满足a在b的前面,但a
> b,则(a, b)是一个逆序对。
具体描述请见hihoCoder。
采用Merge Sort的思想,考察在一次merge的过程中,可以直接将参与merge的两个数组之间的逆序对统计出来(即merge进行中每次插入左边数组的一个元素时,所有已插入的右边数组的元素都与其构成一个逆序对)。
时间复杂度为NlogN。
1 |
|
Author:Who Watson
Link:https://wangshenghu.github.io/2016/05/17/2016-05-17-hihocoder-binary-search-reversed-pair/
Publish date:May 17th 2016, 5:26:02 pm
Update date:December 4th 2022, 5:09:33 pm
License:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可