逆序对问题

简介: 逆序对问题

Reverse pair

问题

一个数组,其中一个数的左边有数大于其本身,则称它们形成逆序对,求逆序对的数量

思路

利用归并排序,综合小和问题解决

实现

int ReversePair(int arr[],int lenth)
{
   if(lenth < 2) return 0;
    return process(arr,0,lenth - 1);
}
int process(int arr[],int L,int R)
{
    if(L >= R) return 0;
    int mid = (L + ((R - L) >> 1));
    return process(arr,L,mid) + process(arr,mid + 1,R) + merge(arr,L,mid,R);
}
int merge(int arr[],int L,int mid,int R)
{
    int help[R - L + 1];
    int p1 = L;
    int p2 = mid + 1;
    int i = 0;
    int res = 0;
    while(p1 <= mid && p2 <= R)
    {
        res += arr[p1] > arr[p2] ? (mid - p1 + 1) : 0;
        help[i++] = arr[p1] > arr[p2] ? arr[p2++] : arr[p1++];
    }
    while(p1 <= mid)
    {
        help[i++] = arr[p1++];
    }
    while(p2 <= R)
    {
        help[i++] = arr[p2++];
    }
    for(i = 0;i < R - L + 1;i++)
    {
        arr[L + i] = help[i];
    }
    return res;
}

总结

归并排序,划分两个区域,根据左区域下标算出,左边有多少数大于右边。

目录
相关文章
|
8月前
|
存储 移动开发 程序员
alist对接钉钉sso登录
本文介绍了如何将Alist与钉钉SSO登录对接。Alist是一个基于Go语言开发的文件管理程序,支持多平台和多种存储方式。通过设置自定义头部、配置钉钉开放平台应用及回调参数,并获取Client ID和Client Secret,可实现钉钉SSO登录功能。最后根据需求配置用户权限,默认权限值可通过相加不同权限数字获得。成品展示了一个美观且实用的文件管理系统。
alist对接钉钉sso登录
|
11月前
|
传感器 监控 安全
|
机器学习/深度学习 人工智能 算法
体验升级:扫描全能王智能高清滤镜2.0全面测评
**扫描全能王智能高清滤镜2.0测评概览** - **技术亮点:** 结合深度学习与多尺度感知融合,提升图像清晰度。 - **智能处理:** 利用深度学习识别透字、颜色和文字,自适应调整处理策略。 - **测评场景:** - **透字文件**:有效抑制透字噪声,增强文字可读性。 - **有阴影的发票**:去除阴影,清晰呈现内容。 - **曲度较大书籍**:准确扫描曲面,保持文字形状。 - **电脑屏幕文本**:优化屏幕显示文本的扫描质量。 - **图画扫描**:颜色还原准确,保持图像细节。 - **总结展望:** 强大的处理能力,满足多样化文档需求,期待未来功能拓展。
302 6
|
安全 搜索推荐 Linux
Linux C++ 环境下数据高效备份策略:全面指南与最佳实践
Linux C++ 环境下数据高效备份策略:全面指南与最佳实践
181 1
|
传感器 前端开发 网络虚拟化
电赛中常用的模块电路设计
电赛中常用的模块电路设计
611 0
电赛中常用的模块电路设计
|
存储 文件存储 iOS开发
imazing VS itunes,iMazing2真的可以碾压iTunes的iPhone管理助手吗?
iMazing是一款兼容Win和Mac的iOS设备管理软件。iMazing能够将音乐、文件、消息和应用等数据从任何 iPhone、iPad 或 iPod 传输到 Mac 或 PC 上。iMazing轻松管理和备份您的 iOS 设备,无需使用 iTunes,iMazing -碾压iTunes的iPhone管理助手,成为新一代数据备份软件。
468 0
imazing VS itunes,iMazing2真的可以碾压iTunes的iPhone管理助手吗?
|
机器学习/深度学习 数据采集 自然语言处理
OCR文字识别技术总结(五)
CRNN是最早一批采用CNN与RNN结合的方式进行自然场景图片识别的基于深度学习的算法。文中提出的CRNN算法是一种能将特征提取、序列建模和转录整合到统一框架中的新型神经网络架
1159 0
OCR文字识别技术总结(五)
|
安全 Java
Java实现生产者消费者的四种方法
Java生产者和消费者问题是线程安全模型中的经典问题:生产者和消费者在同一个时间段共用同一个存储空间,生产者向存储空间中添加产品呢,消费者取走产品,当存储空间为空时,消费者阻塞,当存储空间满时,生产者阻塞
Java实现生产者消费者的四种方法
|
传感器 数据采集 测试技术
APP耗电量测试白皮书(二)
APP耗电量测试白皮书(二)
701 0
APP耗电量测试白皮书(二)