class ZxyWl{
public int reversePairs(int[] nums) {
int[] tmp = new int[nums.length];
int len = nums.length;
merger(nums, 0 , len - 1, tmp);
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
}
public void mergersort(int[] nums, int low, int mid, int high, int[] tmp) {
int i = 0;
int j = low, k = mid + 1;
while (j <= mid || k <= high) {
if (nums[j] <= nums[k]) {
tmp[i++] = nums[j++];
}else tmp[i++] = nums[k++];
}
while (j <= mid) {
tmp[i++] = nums[j++];
}
while (k <= high) {
tmp[i++] = nums[k++];
}
for (int t = 0; t < i; t++) {
nums[low + t] = tmp[t];
}
}
public void merger(int[] nums, int low, int high, int[] tmp) {
if (low < high) {
int mid = low + (high - low) / 2;
merger(nums, low, mid, tmp);
merger(nums, mid + 1, high, tmp);
mergersort(nums, low, mid, high, tmp);
}
}
}