鹤山市城乡住房建设部网站照着别人网站做

news/2025/9/25 16:12:58/文章来源:
鹤山市城乡住房建设部网站,照着别人网站做,外贸网站建设评价,室内设计方案题目描述 在数组中的两个数字#xff0c;如果前面一个数字大于后面的数字#xff0c;则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 解题思路 剑指offer的解法 看到这个题目#xff0…题目描述 在数组中的两个数字如果前面一个数字大于后面的数字则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 解题思路 剑指offer的解法 看到这个题目我们的第一反应是顺序扫描整个数组。每扫描到一个数组的时候逐个比较该数字和它后面的数字的大小。如果后面的数字比它小则这两个数字就组成了一个逆序对。假设数组中含有n个数字。由于每个数字都要和O(n)这个数字比较因此这个算法的时间复杂度为O(n^2)。 我们以数组{7,5,6,4}为例来分析统计逆序对的过程。每次扫描到一个数字的时候我们不拿ta和后面的每一个数字作比较否则时间复杂度就是O(n^2)因此我们可以考虑先比较两个相邻的数字。 (a) 把长度为4的数组分解成两个长度为2的子数组 (b) 把长度为2的数组分解成两个成都为1的子数组 © 把长度为1的子数组 合并、排序并统计逆序对 (d) 把长度为2的子数组合并、排序并统计逆序对 在上图a和b中我们先把数组分解成两个长度为2的子数组再把这两个子数组分别拆成两个长度为1的子数组。接下来一边合并相邻的子数组一边统计逆序对的数目。在第一对长度为1的子数组{7}、{5}中7大于5因此7,5组成一个逆序对。同样在第二对长度为1的子数组{6}、{4}中也有逆序对6,4。由于我们已经统计了这两对子数组内部的逆序对因此需要把这两对子数组 排序 如上图c所示 以免在以后的统计过程中再重复统计。 接下来我们统计两个长度为2的子数组子数组之间的逆序对。合并子数组并统计逆序对的过程如下图如下图所示。 我们先用两个指针分别指向两个子数组的末尾并每次比较两个指针指向的数字。如果第一个子数组中的数字大于第二个数组中的数字则构成逆序对并且逆序对的数目等于第二个子数组中剩余数字的个数如下图a和c所示。如果第一个数组的数字小于或等于第二个数组中的数字则不构成逆序对如图b所示。每一次比较的时候我们都把较大的数字从后面往前复制到一个辅助数组中确保 辅助数组记为copy 中的数字是递增排序的。在把较大的数字复制到辅助数组之后把对应的指针向前移动一位接下来进行下一轮比较。 过程先把数组分割成子数组先统计出子数组内部的逆序对的数目然后再统计出两个相邻子数组之间的逆序对的数目。在统计逆序对的过程中还需要对数组进行排序。如果对排序算法很熟悉我们不难发现这个过程实际上就是归并排序。 代码实现 class Solution { public:int InversePairs(vectorint data) {int lengthdata.size();if(length0)return 0;//vectorint copynew vectorint[length];vectorint copy;for(int i0;ilength;i)copy.push_back(data[i]);long long countInversePairsCore(data,copy,0,length-1);//delete[]copy;return count%1000000007;}long long InversePairsCore(vectorint data,vectorint copy,int start,int end){if(startend){copy[start]data[start];return 0;}int length(end-start)/2;long long leftInversePairsCore(copy,data,start,startlength);long long rightInversePairsCore(copy,data,startlength1,end); int istartlength;int jend;int indexcopyend;long long count0;while(istartjstartlength1){if(data[i]data[j]){copy[indexcopy--]data[i--];countcountj-start-length; //countcountj-(startlength1)1;}else{copy[indexcopy--]data[j--];} }for(;istart;i--)copy[indexcopy--]data[i];for(;jstartlength1;j--)copy[indexcopy--]data[j]; return leftrightcount;} };

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

comfyui-数字人

comfyui-数字人sonic。 1、安装sonic相关插件 模型 2-1 、 图 +音频 生成数字人口播 正面的清晰的照片 , sonic 会按音频的内容 识别 生成对应的视频 2-2 ,只有一张图, +文字的话。 先文字 生成音频 。 音频+图片…

我天,前端岗要消亡了吗?

大家好,我是R哥。 之前分享过一篇文章:前端岗、测试岗即将消亡!阿里菜鸟国际后端研发全员转全栈有的大厂靠成熟的低代码、测试平台,逐渐把前端、测试边缘化了,比如阿里菜鸟国际后端研发全员转全栈这个事,说明前端…

java8的集合新API - --

https://blog.csdn.net/m0_37989980/article/details/126091233

基于MATLAB/Simulink的500kW三相光伏逆变器仿真

一、系统架构设计 1.1 主电路拓扑 graph LR A[光伏阵列] -->|直流母线| B(DC-DC转换器) B -->|800V DC| C[三电平NPC逆变桥] C -->|LCL滤波器| D[380V电网] 1.2 核心模块组成DC-DC模块:Boost电路+MPPT控制 逆…

重庆seo整站优化设置网页游戏破解版

前言 在我们日常工作中,经常会遇到一些异常,比如:NullPointerException、NumberFormatException、ClassCastException等等。 那么问题来了,我们该如何处理异常,让代码变得更优雅呢? 1 不要忽略异常 不知…

做cps需要什么样的网站asp建站软件

跟数据类型是有关的。当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。但是不是所有的变动都可以通过set/get捕捉到,比如一个数组l…

Docker Compose启动多个镜像实例

1. Docker Compose 基础概念Docker Compose 是一个工具,用 YAML 文件定义和运行 多容器 Docker 应用。核心文件:docker-compose.yml通过一个命令可以启动、停止、管理整个应用,而不必一个一个容器操作。Compose 文件…

深入解析:⸢ 伍-Ⅱ⸥ ⤳ 默认安全治理实践:水平越权检测 前端安全防控

深入解析:⸢ 伍-Ⅱ⸥ ⤳ 默认安全治理实践:水平越权检测 & 前端安全防控pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fa…

实用指南:在 CentOS 中安装 MySQL

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

卫星时间同步平台:助力分布式测控系统同步工作

卫星时间同步平台:助力分布式测控系统同步工作pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

mkfx 对磁盘设置标签

mkfs.xfs -i size=512 -n ftype=1 -L RUSTFS0 /dev/sdb -L <label>: 为文件系统设置一个标签(label),方便后续识别和挂载。-i size=512: RustFS官方推荐将inode大小设置为512字节,这对于存储大量小对象(元…

河南网站设计价格阿里云服务器学生

1. 为什么要使用框架 Spring是一个轻量级Java开发框架&#xff0c;最早有Rod Johnson创建&#xff0c;目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。 几乎当下所有企业级JavaEE开发都离不开SSM&#xff08;Spring SpringMVC MyBatis&#xff09;Spring B…

C# Avalonia 15- Animation- Easing

C# Avalonia 15- Animation- EasingEasing.axaml代码<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.m…

安卓编译重点记录

Ubuntu18.04编译安卓11详细步骤 在 Ubuntu 18.04 上编译 Android 11 的详细步骤 以下是为 ​Ubuntu 18.04 环境编译 ​Android 11(AOSP)​ 的完整指南,涵盖环境配置、源码下载、编译及常见问题解决。 ​1. 系统要求…

kubelet源码阅读(二)——device plugin 的ListAndWatch过程

从kubelet运行到plugin注册过程 kubernetes-master/pkg/kubelet/kubelet.go1 func (kl *Kubelet) Run(updates <-chan kubetypes.PodUpdate) {2 // ...3 go wait.Until(kl.updateRuntimeUp, 5*time.Second,…

最新网站制作公司哪个好各大网站搜索引擎提交入口

同事电话询问Linux下一个集群内2个主机前后2天相继无响应&#xff0c;表现状况为ping都没响应。因为没任何监控或其他性能数据&#xff0c;故需要获取历史OS性能数据。我们知道rhel5,6下默认可以通过sar命令查看OS历史信息&#xff0c;故执行sar即可看到当天的数据。[rootora11…

网站上的充值链接怎么做的公众号开发者多次群发

《Windows Azure Platform 系列文章目录》 在Windows Azure平台中&#xff0c;用户最多可以对以个Role指定5个Endpoint。而一个Hosted Service最多允许包含5个Role,所以说在一个Hosted Service中用户最多能定义25个Endpoint。 而对于每一个Endpoint&#xff0c;使用者需要设定如…

CyberLink ColorDirector Ultra 2026 14.0.5712.0 视频后期调色

CyberLink ColorDirector 是由中国台湾讯连科技(CyberLink)开发的专业创意视频后期着色软件,核心目标是帮助用户高效改进并增强视频色彩表现。无论是基础的颜色校正、色调调整,还是进阶的视频动态对象局部色彩优化…

CF 1053 Div.2

E. Limited Edition Shop 经过一些简单转化,要解决的是如下问题:二维平面上有 \(n\) 个点,点有点权。\(n\) 个点横坐标、纵坐标都是 \(1\sim n\) 的排列。要求选择若干点,满足它们右下角区域的并集中的点点权和最大…

haproxy负载均衡 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …