zoukankan      html  css  js  c++  java
  • 剑指offer——数组中的逆序对

    题目链接:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007

    解题思路:

    归并排序

     1 public class Solution {
     2     int count;
     3     public int InversePairs(int [] array) {
     4         if(array.length==0 || array==null)
     5             return 0;
     6         SortProcess(array,0,array.length-1);
     7         return count;
     8     }
     9     public void SortProcess(int []arr,int start,int end)
    10     {
    11         if(start==end)
    12             return ;
    13         int mid = start+(end-start)/2;
    14     
    15         SortProcess(arr,start,mid);
    16         SortProcess(arr,mid+1,end);
    17 
    18         Merge(arr,start,mid,end);
    19         
    20     }
    21     public void Merge(int []arr,int start,int mid,int end)
    22     {
    23         int [] help = new int[end-start+1];
    24         int i=0;
    25         int p1 = start;
    26         int p2 = mid+1;
    27         while(p1<=mid&&p2<=end)
    28         {
    29             if(arr[p1]<arr[p2])
    30             {
    31                 help[i] = arr[p1];
    32                 p1++;
    33             }
    34             else
    35             {
    36                 help[i] = arr[p2];
    37                 count = (count+mid-p1+1)%1000000007;
    38                 p2++;
    39             }
    40             i++;
    41         }
    42         while(p1<=mid){
    43             help[i++] = arr[p1++];
    44         }
    45         while(p2<=end){
    46             help[i++]=arr[p2++];
    47         }
    48         
    49         for(i=0;i<help.length;i++){
    50             arr[start+i] = help[i];
    51         }
    52     }
    53     
    54 }
  • 相关阅读:
    App Inventor
    App Inventor趣味编程(网易课堂)
    学习App Inventor
    小学课程资源网
    mariadb数据类型
    docker监控容器
    docker网络
    项目——基于httpd镜像演示Dockerfile所有的指令
    Dockerfile介绍及指令详情
    docker——harbor
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10938588.html
Copyright © 2011-2022 走看看