class Solution {public static int MAXN = 50001;public static int[] help = new int[MAXN];public static void main(String[] args) {}public static int reversePairs(int[] arr) {return counts(arr, 0, arr.length - 1);}//统计l …… r上反转对的数量,同时计算后变有序public static int counts(int[] arr, int l, int r) {if (l == r) {return 0;}int mid = l + ((r - l) >> 1);return counts(arr, l, mid) + counts(arr, mid + 1, r) + merge(arr, l, mid, r);}public static int merge(int[] arr, int l, int mid, int r) {int ans = 0;for (int i = l, j = mid + 1; i <= mid; i++) {while (j <= r && (long) arr[i] > (long) arr[j] * 2) {j++;}ans += j - mid - 1;}int i = l ;int a = l;int b = mid + 1;while (a <= mid && b <= r) {help[i++] = arr[a] <= arr[b] ? arr[a++] : arr[b++];}while (a <= mid) {help[i++] = arr[a++];}while (b <= r) {help[i++] = arr[b++];}for (i = l; i <= r ; i++) {arr[i] = help[i];}return ans;} }
力扣493.翻转对
2025/9/24 21:39:35
来源:https://blog.csdn.net/2401_83010439/article/details/142064496
浏览:
次
关键词:力扣493.翻转对
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com