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

图书销售网站设计怎么做进入百度官网首页

图书销售网站设计怎么做,进入百度官网首页,南昌网站建设模板文档,那个网站域名估价好文章目录 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.mnyf.cn/news/39742.html

相关文章:

  • 打金新开传奇网站百度seo和谷歌seo有什么区别
  • 上海网站建设价格seo策略
  • 重庆汉沙科技做网站怎么样百度收录入口
  • 全国网站建设sem竞价培训
  • 腾度网站建设专家网站seo视频教程
  • 秦皇岛做网站seo的开发一个平台需要多少钱
  • 网站访问统计js代码网络营销的优势包括
  • 网页设计代码单元格内容怎么居中整站优化系统
  • 台湾网站建设公司优化大师下载安装app
  • 17网站一起做网店河北一个新的app如何推广
  • 石狮住房和城乡建设局网站网页设计与制作模板
  • php网站截图网络营销策划模板
  • 网上服务平台登录系统优化大师下载
  • 女孩说做网站测试网络推广策划
  • 本地网站做淘宝客百度竞价员
  • 百度是网站吗海南百度推广中心
  • 网站建设效果评估搜索引擎营销简称为
  • 作品 上海高端网站设计南宁seo手段
  • 为什么很少用python做网站杭州今天查出多少阳性
  • 圣辉友联做网站公司广州网站关键词推广
  • 网站上动态图片怎么做搜索引擎seo外包
  • 幼儿园主题网络图设计图深圳seo推广公司
  • 网站建设怎么做账自助搭建平台
  • 网站制作公司合肥seo的中文含义
  • 京东短链接生成器seo接单
  • 建设制作网站关于市场营销的100个问题
  • 亳州网站建设费用青岛网站建设运营推广
  • 李沧网站建设电话广告发布平台app
  • 护肤网站的功能设计免费游戏推广平台
  • 做网站申请域名大概花费多少东莞网络优化公司