求救(java):LeetCode剑指offer 的数组逆序对 ,我代码该怎样改才不会栈溢出

[复制链接]
查看11 | 回复2 | 2021-1-27 05:27:01 | 显示全部楼层 |阅读模式
我的代码执行是可以的,但是提交就会出现栈溢出问题。求救->标红的代码会出现栈溢出问题
classSolution{
privatelongsum;
publicintreversePairs(int[]nums){
sum=0;
intl=0;
intr=nums.length-1;
divide(nums,l,r);
return(int)sum;
}
publicvoiddivide(int[]nums,intl,intr){
if(l!=r){
intmid=(l+r)>>1;
divide(nums,l,mid);
divide(nums,mid+1,r)
merge(nums,l,mid,r);
}
}
publicvoidmerge(int[]nums,intl,intmid,intr){
int[]temp=newint[r-l+1];
inti=l;
intj=mid+1;
intindex=0;
while(inums[j]){
temp[index++]=nums[j++];
//这一行是核心,统计逆序的个数其他的代码就是归并排序
sum+=mid-i+1;
}else{
temp[index++]=nums[i++];
}
}
while(i -->
回复

使用道具 举报

千问 | 2021-1-27 05:27:01 | 显示全部楼层
没考虑空数组的情况了……
回复

使用道具 举报

千问 | 2021-1-27 05:27:01 | 显示全部楼层
引用1楼遇见女神的回复:没考虑空数组的情况了……
谢谢哥
我脑袋糊涂了^^
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行