栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【2022初春】【剑指offer】51. 数组中的逆序对

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【2022初春】【剑指offer】51. 数组中的逆序对

归并的思路是看懂了,但是写起来还是很迷茫

class Solution {
    int[] nums,tmp;
    public int reversePairs(int[] nums) {
        this.nums = nums;
        tmp = new int[nums.length];
        return manage(0,nums.length-1);
    }
    public int manage(int l,int r){
        if(l>=r) return 0;
        int m = (l+r)/2;
        int res = manage(l,m) + manage(m+1,r);
        int i=l, j=m+1;
        for(int k=l; k<=r; k++){
            tmp[k] = nums[k];
        }
        for(int k=l; k<=r; k++){
            if(i==m+1){
                nums[k] = tmp[j++];
            }else if(j==r+1||tmp[i]<=tmp[j]){
                nums[k] = tmp[i++];
            }else{
                nums[k] = tmp[j++];
                res += m+1-i;
            }
        }
        return res;
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716776.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号