网站优化塔山双喜icp备案号怎么查

张小明 2025/12/28 3:52:06
网站优化塔山双喜,icp备案号怎么查,江阴外贸网站建设公司,基于php的网站设计与实现一、题目描述二、算法原理思路#xff1a;归并排序#xff08;降序#xff09; 双指针如果#xff1a;nums [ cur1 ] 2 * nums[ cur2 ]#xff0c;那么证明我们还没有找到符合题目要求的 nums[ cur ] #xff0c;所以#xff1a;cur2 如果#xff1a;nums[ cur…一、题目描述二、算法原理思路归并排序降序 双指针如果nums [ cur1 ] 2 * nums[ cur2 ]那么证明我们还没有找到符合题目要求的 nums[ cur ] 所以cur2 如果nums[ cur1 ] 2 * nums[ cur2 ] 符合题目要求因为 nums[ cur1 ] 2 * nums[ cur2 ] 又因为数组都是降序的所以 【 cur2right 】 这个区间的数字都符合题目要求。统计完符合题目要求的数字之后那么 cur1 看看后面数字是否有数字大于2倍的nums[ cur2 ] 那我们的 cur2 还要从头开始判断 nums [ cur1 ] 2 * nums[ cur2 ] 吗答案是不用因为 cur1 没有 之前就已经没有符合题目要求了nums[ cur1 ] 2 * nums[ cur2 ]cur2【mid 1cur2 - 1】因为数组是降序的cur1 之后更加不会符合题目要了所以 cur2 不用返回数组的开头重新判断一遍这样会增加时间复杂度的。注意上面的内容不能在合并数组的时候进行在合并之前进行因为在合并的时候进行会导致合并数组和找翻转对的过程冲突所以我们要在合并数组之前进行此时这两个数组都是有序的。三、代码实现//降序找翻转对 class Solution { int count; public: int reversePairs(vectorint nums) { count 0; vectorint tmp; tmp.resize(nums.size()); Quicksort(0,nums.size() - 1,nums,tmp); return count; } void Quicksort(int l,int r,vectorint nums,vectorint tmp) { if(l r) return; int keyi (l r) 1; Quicksort(l,keyi,nums,tmp);//左边【 l , keyi 】 Quicksort(keyi 1,r,nums,tmp);//右边【keyi 1,r 】 int begin1 l,end1 keyi;//左边数组 int begin2 keyi 1,end2 r;//右边数组 int index l;//遍历起始点 int begin3 begin1,end3 end1; int begin4 begin2,end4 end2; while(begin3 end3 begin4 end4)//提前保存翻转对 { long long tmp_i 2 * (long long)nums[begin4];//防止数据丢失 while(begin4 end4 tmp_i nums[begin3]) { begin4; tmp_i 2 * (long long)nums[begin4]; } if(begin4 end4) break; count end4 - begin4 1; begin3; } while(begin1 end1 begin2 end2)//比较遍历 { if(nums[begin1] nums[begin2]) { tmp[index] nums[begin1]; } else { tmp[index] nums[begin2]; } } while(begin1 end1) tmp[index] nums[begin1];//把左边剩余的数字放到 tmp while(begin2 end2) tmp[index] nums[begin2];//把右边剩余的数字放到 tmp for(int i l;i index;i) nums[i] tmp[i];//把 tmp 里面的数字放回到原数组 nums } };//升序找翻转对 class Solution { int count; public: int reversePairs(vectorint nums) { count 0; vectorint tmp; tmp.resize(nums.size()); Quicksort(0,nums.size() - 1,nums,tmp); return count; } void Quicksort(int l,int r,vectorint nums,vectorint tmp) { if(l r) return; int keyi (l r) 1; Quicksort(l,keyi,nums,tmp);//左边【 l , keyi 】 Quicksort(keyi 1,r,nums,tmp);//右边【keyi 1,r 】 int begin1 l,end1 keyi;//左边数组 int begin2 keyi 1,end2 r;//右边数组 int index l;//遍历起始点 int begin3 begin1,end3 end1; int begin4 begin2,end4 end2; while(begin3 end3 begin4 end4)//提前保存翻转对 { while(begin3 end3 nums[begin3]/2.0 nums[begin4])//防止 5 / 2 2 2 所以不能/2 而是/2.05/2.0 2.5 2 { begin3; } if(begin3 end3) break; count end3 - begin3 1; begin4; } while(begin1 end1 begin2 end2)//比较遍历升序 { if(nums[begin1] nums[begin2]) { tmp[index] nums[begin2]; } else { tmp[index] nums[begin1]; } } while(begin1 end1) tmp[index] nums[begin1];//把左边剩余的数字放到 tmp while(begin2 end2) tmp[index] nums[begin2];//把右边剩余的数字放到 tmp for(int i l;i index;i) nums[i] tmp[i];//把 tmp 里面的数字放回到原数组 nums } };
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

天津网站制作工具wordpress折叠目录

从零开始搭建TI嵌入式开发环境:CCS安装避坑指南与版本选型实战 你有没有遇到过这样的场景? 刚拿到一块全新的 LAUNCHXL-F28379D 开发板,兴致勃勃地下载了最新版 Code Composer Studio(CCS),结果安装到一…

张小明 2025/12/26 0:04:43 网站建设

毕业设计用PHP做旅游网站江苏做网站的企业

量子物理中的跃迁速率与寿命相关知识解析 1. 激发态的寿命与跃迁概率 在实际情况中,人们常常使用激发态的寿命(τ)而非跃迁概率($A_{if}$)来描述激发态。计算一个状态的寿命需要了解每个状态间的爱因斯坦系数。接下来我们将研究氢的巴耳末系发射,该系列终止于$n = 2$。…

张小明 2025/12/26 0:03:04 网站建设

票务系统网站模板网站上怎么做星星评分

在当前数字化时代,许多家庭和企业都面临着硬件资源浪费的问题。特别是那些被淘汰的电视盒子,往往拥有相当不错的处理能力却因原生系统的限制而无法发挥其真正价值。RK3568作为一款性能均衡的ARM处理器,通过Armbian系统部署可以实现从娱乐终端…

张小明 2025/12/26 0:02:32 网站建设

免费企业营销网站制作淘宝不能开网站建设店铺吗

从零搭建STM32开发环境:Keil5 MDK 安装与调试实战指南 你是不是也曾在准备开始第一个STM32项目时,卡在了“Keil怎么装?”、“为什么连不上芯片?”这些问题上?明明只是想点亮一个LED,却花了三天时间还在和编…

张小明 2025/12/26 0:01:59 网站建设

网站开发的话术惠州建网站服务

48tools开源工具集:开发者必备的48种效率神器完全指南 【免费下载链接】48tools 48工具,提供公演、口袋48直播录源,公演、口袋48录播下载,封面下载,B站直播抓取,B站视频下载,A站直播抓取&#x…

张小明 2025/12/26 0:00:51 网站建设

清远网站开发wordpress插件如何使用

基于Linly-Talker开发虚拟偶像,成本降低超70% 在直播带货的深夜直播间里,一个面容精致、语气亲切的“主播”正流畅地介绍商品——她不会疲倦,不需要休息,甚至连声音和表情都与真人无异。但你可能想不到,这样一个看似需…

张小明 2025/12/26 0:00:18 网站建设