当前位置: 首页 > news >正文

本地做织梦网站网站logo织梦怎么做

本地做织梦网站,网站logo织梦怎么做,专业的网站建设设计价格,优化产业结构文章目录 1、排序数组2、交易逆序对的总数3、计算右侧小于当前元素的个数4、翻转对 1、排序数组 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 class Solution { public:vector<int> tmp;void mergeSort(vector<int>& nums,int left,int right){…

文章目录

  • 1、排序数组
  • 2、交易逆序对的总数
  • 3、计算右侧小于当前元素的个数
  • 4、翻转对

1、排序数组

给你一个整数数组 nums,请你将该数组升序排列。
在这里插入图片描述

class Solution {
public:vector<int> tmp;void mergeSort(vector<int>& nums,int left,int right){if(left>=right)return ;int mid=(left+right)>>1;//对于非负整数,并且不产生溢出的情况下,//(left + right) >> 1 和 (left+right)/2是等价的。mergeSort(nums,left,mid);mergeSort(nums,mid+1,right);int cur1=left,cur2=mid+1;int i=0;while(cur1<=mid&&cur2<=right){if(nums[cur1]<nums[cur2]) tmp[i++]=nums[cur1++];else tmp[i++]=nums[cur2++];}//处理没有结束的while(cur1<=mid) tmp[i++]=nums[cur1++];while(cur2<=right) tmp[i++]=nums[cur2++]; for(int i=left;i<=right;i++)nums[i]=tmp[i-left];}vector<int> sortArray(vector<int>& nums) {tmp.resize(nums.size());mergeSort(nums,0,nums.size()-1);return nums;}
};

2、交易逆序对的总数

在股票交易中,如果前一天的股价高于后一天的股价,则可以认为存在一个「交易逆序对」。请设计一个程序,输入一段时间内的股票交易记录 record,返回其中存在的「交易逆序对」总数。
在这里插入图片描述

class Solution {
public:int tmp[50010];int mergeSort(vector<int>& nums,int left,int right){if(left>=right)return 0;int ret=0;//计数int mid=(left+right)>>1;ret+=mergeSort(nums,left,mid);ret+=mergeSort(nums,mid+1,right);int cur1=left,cur2=mid+1;int i=0;while(cur1<=mid&&cur2<=right){if(nums[cur1]<=nums[cur2])tmp[i++]=nums[cur1++];else{ret+=mid-cur1+1;tmp[i++]=nums[cur2++];}}//处理没有结束的while(cur1<=mid) tmp[i++]=nums[cur1++];while(cur2<=right) tmp[i++]=nums[cur2++]; for(int i=left;i<=right;i++)nums[i]=tmp[i-left];return ret;}int reversePairs(vector<int>& record) {return mergeSort(record,0,record.size()-1);}
};

3、计算右侧小于当前元素的个数

给你一个整数数组 nums ,按要求返回一个新数组 counts 。数组 counts 有该性质: counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。
在这里插入图片描述

class Solution {
public:vector<int> ret;vector<int> index; // 记录 nums 中当前元素的原始下标int tmpNums[500010];int tmpIndex[500010];vector<int> countSmaller(vector<int>& nums) {ret.resize(nums.size());index.resize(nums.size());for(int i=0;i<nums.size();i++)index[i]=i;mergeSort(nums,0,nums.size()-1);return ret;}void mergeSort(vector<int>& nums,int left,int right){if(left>=right)return;int mid=(left+right)>>1;mergeSort(nums,left,mid);mergeSort(nums,mid+1,right);int cur1=left,cur2=mid+1,i=0;while(cur1<=mid&&cur2<=right){if(nums[cur1]<=nums[cur2]){tmpNums[i]=nums[cur2];tmpIndex[i++]=index[cur2++];}else{ret[index[cur1]]+=right-cur2+1;tmpNums[i]=nums[cur1];tmpIndex[i++]=index[cur1++];}}while(cur1<=mid){tmpNums[i]=nums[cur1];tmpIndex[i++]=index[cur1++];}while(cur2<=right){tmpNums[i]=nums[cur2];tmpIndex[i++]=index[cur2++];}for(int i=left;i<=right;i++){nums[i]=tmpNums[i-left];index[i]=tmpIndex[i-left];}}
};

4、翻转对

给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。
你需要返回给定数组中的重要翻转对的数量。
在这里插入图片描述

class Solution {
public:int tmp[50010];int ret=0;int reversePairs(vector<int>& nums) {mergeSort(nums,0,nums.size()-1);return ret; }void mergeSort(vector<int>& nums,int left,int right){if(left>=right)return;int mid=(left+right)>>1;mergeSort(nums,left,mid);mergeSort(nums,mid+1,right);int cur1=left,cur2=mid+1,i=0;while(cur1<=mid&&cur2<=right){if(nums[cur1]/2.0<=nums[cur2])cur2++;else{ret+=right-cur2+1;cur1++;}}//排序是要按大小进行的并不是if(nums[cur1]/2.0<=nums[cur2]),所以就不能在一起排序,要分开cur1=left,cur2=mid+1,i=0;while(cur1<=mid&&cur2<=right){if(nums[cur1]<=nums[cur2])tmp[i++]=nums[cur2++];elsetmp[i++]=nums[cur1++];}while(cur1<=mid)tmp[i++]=nums[cur1++];while(cur2<=right)tmp[i++]=nums[cur2++];for(int i=left;i<=right;i++)nums[i]=tmp[i-left];}
};
http://www.yayakq.cn/news/967208/

相关文章:

  • 网站seo优化费用wordpress登陆进去插件
  • 怎样做视频电影网站制作网站的费用
  • 浙江建设职业技术学院网站垂直网站内容建设
  • 农村基本制度建设网站做暧免费网站
  • 做网站需要准备什么展厅效果图
  • phpmysql网站个人虚拟机做网站
  • 怎么样建设自己网站怎么用php做网站方案
  • 浏览器打开网站404课程网站开发的开题报告
  • 单位网站建设目的潍坊专业滑轮组
  • 岚县网站建设网站的规划与建设 按时间顺序
  • 建站网站插件ps模板下载网站
  • 骨骼型的网站wordpress做成app
  • 重庆转店铺哪个网站平台好手机与pc的网站开发
  • 企业形象网站解决方案网站开发 进度表
  • 深圳的设计企业网站wordpress 给文件命名
  • 中小企业的网站建设方案镇江教育云网站建设
  • 专业的图纸设计网站wordpress换头像
  • 回收网站建设网站数据做面板分析
  • 自做网站多少钱提高网站搜索排名
  • 门户网站设计特点常州网站建设哪家好
  • 高陵微网站建设跨境电商网站建设方案书
  • 广东网站备案要求网站建设技术质量指标
  • 请问的网站开发培训 有知道的吗wordpress短代码引入小工具
  • 网站做支付宝和网银接口给钱做h事都行的网站名
  • 徐州市建设局交易网站网站开发需要申请专利吗
  • 做网站服务器要用多大临沧网站建设c3sales
  • 万网 网站建设方案书范文简述网站建设的步骤
  • 乡镇网站建设方案杭州做网站的公司哪些比较好
  • 网站首页怎么做全屏swf东莞手机建网站
  • 用ssh做的网站wordpress的登录函数使用教程