array[i+left]=temp[i];
}
return ans;
}
public int mergeSort(int[] array,int left,int right)
{
if(left>=right)
return 0;//停止划分
int mid=(left+right)/2;
int ans=mergeSort(array,left,mid);
ans+=mergeSort(array,mid+1,right);
ans+=merge(array,left,mid,right);
return ans;
}
public int InversePairs(int [] array) {
return mergeSort(array,0,array.length-1);
}
}
merge 里while循环中 l <= mid 你写错了。