剑指offer 面试题51 数组中的逆序对

搭建PX4开发系统(Ubuntu 22.04) 本文是《从零开始学 PX4 无人机开发》系列第二篇,适合开发者在 Ubuntu 系统下快速搭建 PX4 编译与仿真环境,支持 QGroundControl、Gazebo、MAVSDK 等完整工具链。 阅读详情

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

数据范围:

对于%50的数据,size<=10^4

对于%75的数据,size<=10^5

对于%100的数据,size<=2*10^5

示例1
输入
复制
1,2,3,4,5,6,7,0
输出
复制
7

tips: 使用归并排序,记得用long long

class Solution {
public:
    long long mergeSortAndCount(vector<int> &data, int begin, int end) {
        vector<int> temp;
        if(begin==end) {
            return 0;
        }
        int mid=(begin+end)/2;
        long long left=mergeSortAndCount(data,begin,mid);
        long long right=mergeSortAndCount(data,mid+1,end);
        int index1=begin;
        int index2=mid+1;
        long long count=0;
        while( index1<=mid && index2<=end ) {
            if(data[index1]>data[index2]) {
                temp.push_back(data[index2]);
                index2++;
                count+=mid-index1+1;
            } else {
                temp.push_back(data[index1]);
                index1++;
            }
        }
        for (int i = index1; i <= mid; i++)
        {
            temp.push_back(data[i]);
        }
        for (int i = index2; i <= end; i++)
        {
            temp.push_back(data[i]);
        }
        for (int i = 0; i < temp.size(); i++)
        {
            data[begin+i]=temp[i];
        }
        return (count+left+right)%1000000007;
    }
    int InversePairs(vector<int> data) {
        if(data.size()<=0) {
            return 0;
        }
        return mergeSortAndCount(data,0,data.size()-1);
    }
};
端到端自动驾驶的精准测试场景开发 1. 背景介绍 自动驾驶技术的发展正在改变交通运输的未来,然而,要实现安全可靠的自动驾驶,需要进行大量的测试和验证。端到端自动驾驶系统的测试场景开发是实现这一目标的关键。本文将详细介绍端到端自动驾驶的精准测试场景开发,包括核心概念、算法原理、数学模型、项目实践,以及未来发展趋势。 2. 核心概念与联系 阅读详情

相关推荐

SDN:使用Postman控制ODL查看和下发流表

所谓,其实可被视作是SDN对网络设备的数据转发功能的一种抽象。在传统网络设备中,交换机和路由器的数据转发需要依赖设备中保存的二层MAC地址转发表或者三层的IP地址路由表,SDN交换机中使用的流表也是如此,不过在它的表项中整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。其流表中的每个表项结果如下图所示:OpenFlow1.3流表的每个表项由6部分组成:1、匹配域:匹配域即OpenFlow1.0流表中的包头域,用于对交换机接收到的数据包的包头内容进行匹配。Ehter Des。

lyhaoyuhangyuan的博客 2535

剑指Offer - 面试题51. 数组中的逆序对(归并排序,求逆序对)

1. 题目 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制: 0 <= 数组长度 <= 50000 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-...

Michael是个半路程序员 1665

让 AI 变聪明的 20 条指令:如何让大模型回答得更精准、更专业、更实事求是

让 AI 变聪明,本质上不是写几句神奇咒语,而是把你的任务表达得更清楚,把事实标准设得更严格,把输出格式规定得更明确,把不确定性管理得更认真,把历史对话利用得更充分。大模型的强项是语言生成、信息组织、模式归纳和方案扩展;弱项是事实核验、实时更新、责任判断和对模糊意图的准确猜测。好的指令,就是在用人的判断弥补模型的弱点,让模型把强项发挥在正确的地方。

Sumarua的博客 1477

【LeetCode & 剑指offer刷题】数组题16:51 数组中的逆序对

【LeetCode &amp; 剑指offer刷题】数组题16:51 数组中的逆序对 【LeetCode &amp; 剑指offer 刷题笔记】目录(持续更新中...) 51 数组中的逆序对 题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000...

技术改变世界 1588

手把手教你ensp仿真搭建校园网(含防火墙及无线网络)系列(一)校园网核心交换机配置

本系列博客将带你从零开始,使用 华为 eNSP(Enterprise Network Simulation Platform) 仿真搭建一个完整的校园网络,涵盖 核心层、汇聚层、接入层、防火墙安全策略、无线AC+AP组网 等实战场景。无论你是网络初学者还是希望深化实战经验的工程师,都能通过本教程掌握企业级网络的规划、配置与排错技巧。

echo的博客 3794

SAP_PP模块定额工艺路线简介

在 SAP PP(生产计划)模块中,定额工艺路线(Routing) 是生产制造流程中的核心主数据之一,用于定义制造一个产品所需的标准操作步骤。工艺路线详细描述了生产过程中的各个工序、使用的工作中心、标准作业时间、资源分配等信息,是进行生产计划、成本核算、排产控制、车间执行等功能的基础。

我小时候很黑的博客 763

剑指Offer面试题51:数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据...

freeygh的博客 457

后仿真中的必懂VCS仿真选项之initreg和deposit

后仿真中,我们常常对于没有复位寄存器和存储器单元,使用仿真选项之initreg和deposit,两种处理方式。今天做总结。请注意:请勿将两者进行同时使用。对于到底选取哪种方式,要结合实际的情况决断。但是,两者同时使用,会有冲突,得不到预期结果。

那么菜的博客 4330

数组中的逆序对

在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据,size<=...

weixin_39590058的博客 215

SIWAVE+ADS提取PCB走线寄生参数

本文将介绍一种很适合PCB走线提取寄生电感等参数的方法,即是通过SIWAVE将PCB走线的S参数提取出来,再通过ADS将S参数转换成电感、电容值。

sinat_15150363的博客 1763

AI漫剧全套万能提示词合集

今天给大家整理一套已经跑通爆款漫剧的万能提示词库!覆盖:豆包剧本人设词 + 分镜生成词 + 即梦绘图词 + 动态优化词 + 防翻车固定词直接复制粘贴,新手也能做出稳定、高清、统一、有质感的AI漫剧!你是资深短视频漫剧编剧,擅长制作60秒竖屏爆款AI漫剧,请为我创作一集完整漫剧内容。要求:开头3秒高能抓眼,中段有冲突转折,结尾留强悬念钩子,节奏紧凑、适合短视频流量。首先生成固定统一人物人设:包含脸型、五官、发色、发型、穿搭、身材、气质、画风、光影细节,要求足够精细,保证全程角色不变脸。

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 1866

剑指offer 面试题51 python版+解析:数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 思路:把数组分成两个子数组,统计出子数组内部的逆序对,然后再统计出两个相邻子数组之间的逆序对。再统计逆序对的过程中,还要对数组进行排序。参考归并排序的思路。注意一定要深拷贝!! # -*- coding:utf-8 -*- import copy cla...

Yenpo Ma的博客 929

AMBA-CHI协议详解(七)

本节描述该协议包含的支持系统保序需求的机制。

Crazzy_M的博客 1156

剑指offer面试题51(java版):数组中的逆序对

welcome to my blog 剑指offer面试题51(java版):数组中的逆序对 暴力解(不通过) 写一写暴力解感受感受 public class Solution { public int InversePairs(int [] array) { //input check if(array.length<1) ...

littlehaes的博客 1473

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

剑指 Offer(第2版)面试题 51:数组中的逆序对

剑指 Offer(第2版)面试题 51:数组中的逆序对

ProgramNovice的博客 1018

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【剑指offer】面试题51 数组中的逆序对

class Solution { public: int InversePairs(vector&amp;amp;lt;int&amp;amp;gt; data) { int size = data.size(); if(size == 0) return 0; vector&amp;amp;lt;int&amp;amp;gt;copy(size); for(int i=0;i&amp;amp;l

爱喝舒化奶的博客 347

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

剑指Offer——面试题51:数组中的逆序对

面试题51:数组中的逆序对 题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如,在数组{7,5,6,4}中,一共存在5个逆序对,分别是(7,6)、(7,5)、(7,4)、(6,4)、(5,4)。 解决思路: 最直观的解法 #include<iostream> using namespace std; ...

愿你慢慢变强的博客 422

【剑指offer】面试题51:数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据,s...

幻想郷こうまかん 230

数组中的逆序对(剑指offer,面试题51)

题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size&lt;=10^4 对于%75的数据,size&lt;=10^5 对于%100的数...

Victory_tc的博客 630

剑指offer-面试题51:数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制: 0 <= 数组长度 <= 50000 方法一(归并排序) 1.解题思路 归并排序的思想是将原数组不断二分,直到只有一个或2个元素的时候,再比较排序,最后将排好序的数组依次两两合并。我们只需要在比较排序的过程中,加一个统计逆序对的过程。 当左边下标为i,右边下标为j,并且nums[i]>nums

qq_43568109的博客 377

《剑指offer》面试题51:数组中的逆序对

题目:如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对总数。例如输入{7,5,6,4},一共有5个逆序对,分别是(7,6),(7,5),(7,4),(6,4),(5,4)。 思路: 思路1:暴力解决。顺序扫描数组,对于每个元素,与它后面的数字进行比较,因此这种思路的时间复杂度为o(n^2)。 思路2: 上述思路在进行比较后,并没有将相关信息留下,其...

qq_43502142的博客 261

剑指offer:面试题51—数组中的逆序对

题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 解决: 利用归并排序 public class Solution { int count=0; public int InversePairs(int [] a...

123木头人! 176

剑指offer面试题51:数组中的逆序对

索引请参考:系列目录 题目: 在数组中的2个数字,如多前面的一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数字,求出这个数组中给逆序对的个数总数。 示例: 输入{7,5,6,4} 输出:5 分别时 (7,6)、(7,5)、(7,4)、(6,5)、(6,4)、(5,4) 分析: 就目前数组知识来说,只能采取暴力法。 将数组从大到小进行排序 将排序后的数组两两组合 int inversePair(std::vector<int> & data) { //1

jjjstephen的博客 215

剑指offer - 面试题51: 数组中的逆序对 - C++

好开心!看了题没思路,看了讲解。被一点通:说实际上就是归并算法,于是动手搞出来: class Solution { public: int InversePairs(vector<int> data) { int count = 0; int n = data.size(); vector<int> tool(n)...

L_bic的博客 700

剑指offer面试题51:数组中的逆序对(Java 实现)

题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数例如在数组{7,5,6,4}中,一共存在5对逆序对,分别是{7,6},{7,5},{7,4},{6,4},{5,4}。 测试用例: 功能测试:输入未经排序的数组;递增排序的数组;递减排序的数组;输入的数组包含重复的数字。 边界测试:输入的数组只有两个数字;输入的数组只...

weixin_41163113的博客 1161

剑指Offer37--面试题51. 数组中的逆序对

剑指Offer37--面试题51. 数组中的逆序对遍历搜索 超时使用归并排序 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 遍历搜索 超时 使用归并排序 public class Solution { private int count; public int InversePairs(int [] array) { if(array.length==0)return 0; Mer

zhangyunpeng0922的博客 164
上一篇: 剑指offer 面试题13 机器人的运动范围
下一篇: 剑指offer 面试题64 求1+2+3+...+n
wenkun97
博客等级 码龄10年 15粉丝 139原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值