首页 > 其他分享 >775. 全局倒置与局部倒置

775. 全局倒置与局部倒置

时间:2022-11-16 17:59:36浏览次数:69  
标签:775 right temp nums int 倒置 全局 left

775. 全局倒置与局部倒置

题解:

  1. 用归并排序求全局倒置(逆序对)
  2. 可以用树状数组求逆序对
class Solution {
    int num2 = 0;
    public boolean isIdealPermutation(int[] nums) {
        int n = nums.length;
        if (n == 1) return true;
        int num1 = 0;
        for (int i = 0; i < nums.length - 1; i++) {
            if (nums[i] > nums[i + 1]) num1++;
        }
        int[] temp = new int[n];
        mergeSort(nums, 0, n - 1, temp);
        return num1 == num2;
    }
    // 归并排序
    public void mergeSort(int[] nums, int left, int right, int[] temp) {
        if (left >= right) return;
        int l = left, mid = (left + right) >> 1, r = mid + 1;
        mergeSort(nums, left, mid, temp);
        mergeSort(nums, mid + 1, right, temp);
        int k = l;
        while (l <= mid && nums[l] <= nums[r]) temp[k++] = nums[l++];
        // 逆序对
        while (r <= right && nums[l] > nums[r]) {
            num2 += r - l ;
            temp[k++] = nums[r++];
        }
        while (l <= mid) {
            temp[k++] = nums[l++];
        }
        while (r <= right) temp[k++] = nums[r++];
        for (int i = left; i <= right; i++) {
            nums[i] = temp[i];
        }
    }
}

标签:775,right,temp,nums,int,倒置,全局,left
From: https://www.cnblogs.com/eiffelzero/p/16896799.html

相关文章

  • spring boot 使用webflux全局拦截,类似404错误
    背景要拦截类似404这种返回,添加日志返回码。所以要全局拦截404或者500返回实现1.定义拦截类packagecom.cmb.zhaohu.WebLogCollect.advice;importjava.util.LinkedH......
  • 美国国家安全局督促弃用 C/C+,使用更安全的 Rust、C#等!
    美国国家安全局督促弃用C/C+,使用更安全的Rust、C#等!投递人 itwriter 发布于2022-11-1518:18 评论(0) 有1457人阅读 原文链接 [收藏] « »作者苏宓......
  • uniapp全局组件的使用
      第一步:在项目文件的根目录上添加一个components文件夹       我这里.配置的是全局的颜色 第二步:在需要用的组件上使用    注意:1.在使用全......
  • 775. 全局倒置与局部倒置
    775.全局倒置与局部倒置给你一个长度为n的整数数组nums,表示由范围[0,n-1]内所有整数组成的一个排列。全局倒置的数目等于满足下述条件不同下标对(i,j)的数......
  • 分布式系统全局唯一ID生成
    转载:https://www.cnblogs.com/liuqingzheng/p/11074623.html 一什么是分布式系统唯一ID在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在金融、电......
  • 775. 全局倒置与局部倒置 ----- 题目包含关系求补集
    给你一个长度为n的整数数组nums,表示由范围[0,n-1]内所有整数组成的一个排列。全局倒置的数目等于满足下述条件不同下标对(i,j)的数目:0<=i<j<nnums[i]......
  • 记录一个gorm发生全局查询条件的问题
       正常情况下在使用gorm做修改操作时,会使用omit过滤一些字段,比如上图中修改的时候就不应该修改创建时间和创建人字段的值。关键点在于上图如果omit中没有增加id字......
  • day31 1 tomcat介绍与创建web项目 & 2 继承HttpServlet类、配置webxml全局配置文件 &
    ServletJavaServlet是运行在Web服务器或应用服务器上的程序,作为客户端(Web浏览器或其他HTTP客户端)和服务端(HTTP服务器上的数据库或应用程序)之间的中间层。使用Servlet可......
  • Yii全局函数使用
    由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以......
  • 微服务架构中全局异常处理类不生效
    遇到问题:今天开始练习微服务项目,自定义的全局异常处理类不生效全局异常处理类微服务的controller中:正常情况如果报异常了应该会被我的CommonException捕获没有被Co......