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

制作网页与网站重庆公司章程在哪里下载

制作网页与网站,重庆公司章程在哪里下载,个人网站备案可以放什么内容,重庆100强企业名单题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如,在数组{7,5,6,4}中,一共存在5个逆序对,分别是(7…

题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如,在数组{7,5,6,4}中,一共存在5个逆序对,分别是(7,6)、(7,5)、(7,4)、(6,4)、(5,4)。

分析:可以用类似归并排序的思想,将数组二分,直到数组中只有一个元素时,此时数组逆序数组个数为0,然后开始合并数组,分别统计两个合并数组中逆序对的个数,这样自底向上地完成数组的排序及逆序对的统计,实际上是和归并排序是相同的方法。

 

具体地对于计算统计两个子数组的逆序对的个数,我们用两个指针分别指向两个子数组的末尾,并每次比较两个指针指向的数字,如果第一个子数组中的数字大于第二个子数组中的数字,则构成逆序对,并且逆序对的数目等于第二个子数组中剩余数字的个数。如果第一个数组中的数字小于或等于第二个数组中的数字,则不构成逆序对。每次比较,我们都把较大的数字从后往前复制到一个辅助数组,确保辅助数组中的数字是递增排列。

int InversePairs(int* data,int length){if(data == nullptr || length  < 0){return 0;}int* copy = new int[length];for(int i = 0;i < length;++i){      //用一个辅助数组存放排序后的数组元素copy[i] = data[i];              //****归并排序需要将辅助数组元素merge回原数组完成排序*****//}int count = InversePairsCore(data,copy,0,length - 1);//如果要保存排序后的数组可将data和copy参数交换位置:即InversePairCore(copy,data,0,length - 1);delete[] copy;return count;
}int InversePairsCore(int* data,int* copy,int start,int end){if(start == end){            //数组中只有一个元素,返回0//  copy[start] = data[start];     return 0;}int length = (end - start) / 2;int left = InversePairsCore(copy,data,start,start + length);  //copy数组中存放已排序的子数组,接下来会对copy数组作合并和排序操作,//操作的结果放在data数组中,作为下一次合并排序的copy数组(即两个数组,是互相备份的关系),            //***此操作也修改了原输入数组中的元素值***int right = InversePairsCore(copy,data,start + length + 1,end);//i初始化为前半段最后一个元素的一下标int i = start + length;//j初始化为后半段最后一个元素的一下标int j = end;int indexCopy = end;      //辅助数组的下标元素从数组结尾开始int count = 0;while(i >= start && j >= start + length + 1){if(data[i] > data[j]){copy[indexCopy--] = data[i--];count += j - start - length;}else{copy[indexCopy--] = data[j--];}}for(;i >= start;--i){copy[indexCopy--] = data[i];}for(;j >= start + length + 1;--j){copy[indexCopy--] = data[j];}return left + right + count;
}

 

http://www.yayakq.cn/news/835709/

相关文章:

  • 网站建设演示ppt怎么接推广赚钱
  • 建设图书馆网站从0搭建一个网站
  • 个体户可以网站备案吗郑州制作网站价格
  • 自己想做个网站怎么做的让自己的网站收录
  • 江苏网站建设效果免费手机网站制作app
  • 防水网站怎么做做响应式网站兼容哪几个尺寸
  • 地信的网站建设西宁网站建设服务公司
  • 上海各区的网站有哪些公司网站改了模板被百度降权
  • 个人网页设计步骤长沙百度seo代理
  • 无锡建设工程质量监督网站正确的网线的顺序图
  • 钓鱼网站网站怎么做ppt设计说明
  • 蓝奏云注册网站设计企业品牌logo
  • 如何确定网站建设 栏目自己设计一个网站
  • 肥城网站建设广州外地车牌微信h5制作软件
  • 揭阳网站建设团队wordpress 4.2.3 exp
  • 冷链物流网站专业创建网站公司
  • 宁波网站建设价格费用优惠劵精选网站怎么做
  • 成品网站1688入门网大连营销团队
  • 网站字体一般是什么字体微信购物商城
  • 营销策略都有哪些4pseo专业技术培训
  • 长春网站制作公司贵阳市建设局网站
  • 精美网站开发方案化肥网站模板
  • 微信上建微网站要钱吗淄博网站建设招聘
  • 做网站需要哪些资料台州 做网站
  • 诸城个人网站建设网页界面设计布局
  • 高端网站建设与发展天津seo推广方法
  • 建一个外贸网站多少钱地图网站模板
  • 杭州高端网站win服务器做网站
  • 宁夏网站营销推广网站建设 支持多种语言
  • 企业建设网站的作用ireal 网站建设