博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
35.数组中的逆序对
阅读量:4360 次
发布时间:2019-06-07

本文共 584 字,大约阅读时间需要 1 分钟。

题目描述:

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

思路分析:

  这道题的解法十分巧妙,我们熟悉的数组排序中的归并排序,它在排序的过程中就是比较两个数的大小,如果是逆序它就交换,所以我们想求一个数组中的逆序对,就对他进行归并排序,在排序的过程中记录逆序对数。

代码:

public class Solution {    int res;    public int InversePairs(int [] array) {        if(array==null||array.length==0)            return 0;        sort(array,0,array.length-1);        return res%1000000007;    }    public void sort(int[]array,int start,int end){  //归并排序        int mid=(start+end)/2;        if(start

转载于:https://www.cnblogs.com/yjxyy/p/10841038.html

你可能感兴趣的文章
读书多些会怎样
查看>>
浏览器好用的技术
查看>>
HDU 2188------巴什博弈
查看>>
tp5任务队列使用supervisor常驻进程
查看>>
Xmind?
查看>>
spring+quartz 实现定时任务三
查看>>
day2-三级菜单
查看>>
linux下升级4.5.1版本gcc
查看>>
Beanutils
查看>>
FastJson
查看>>
excel4j
查看>>
Thread
查看>>
char * 与char []探究理解
查看>>
QT窗体显示在屏幕中间位置
查看>>
emmet使用技巧
查看>>
RPC-Thrift(二)
查看>>
MSSQL for Linux 安装指南
查看>>
【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试
查看>>
前端必读:浏览器内部工作原理
查看>>
Uri、URL和URN三者的区别
查看>>