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

出口电商网站建设程序wordpress商业版

出口电商网站建设程序,wordpress商业版,母婴会所网站建设,app推广平台排行榜【编程】典型题目#xff1a;寻找数组第K大数#xff08;四种方法对比#xff09; 文章目录 【编程】典型题目#xff1a;寻找数组第K大数#xff08;四种方法对比#xff09;1. 题目2. 题解2.1 方法一#xff1a;全局排序#xff08;粗暴#xff09;2.2 方法二#…【编程】典型题目寻找数组第K大数四种方法对比 文章目录 【编程】典型题目寻找数组第K大数四种方法对比1. 题目2. 题解2.1 方法一全局排序粗暴2.2 方法二局部排序略粗暴2.3 方法三优先队列合理2.4 方法四快速排序完美 1. 题目 2. 题解 2.1 方法一全局排序粗暴 使用C中内置函数sort进行全局排序再取第K大值 class Solution { public:int findKth(vectorint a, int n, int K) {sort(a.begin(), a.end());return a[n-K];} };复杂度O(n log n) 2.2 方法二局部排序略粗暴 使用冒泡排序的思想每次将最大的值放在数组尾部直到第K个 class Solution { public:int findKth(vectorint a, int n, int K) {for(int i0; iK; i){for(int j0; jn-i-1; j){if(a[j]a[j1]){int temp a[j];a[j] a[j1];a[j1] temp;}}}return a[n-K];} };复杂度:O(nk) 2.3 方法三优先队列合理 小根堆维护一个大小为k的小根堆 class Solution { public:int findKth(vectorint a, int n, int K) {priority_queue int, dequeint, greaterint nums; //队首最小,从小到大排序for(int i0; in; i){if(iK){nums.push(a[i]);}else{if(a[i]nums.top()){nums.pop();nums.push(a[i]);}}}return nums.top();} };复杂度O(n logk) 2.4 方法四快速排序完美 快排思想通过一趟排序将待排序元素分成独立的两部分其中一部分记录的元素均比另一部分记录的元素要小则可分别对这两部分记录继续进行排序直到整个序列有序为止。具体做法如下 首先选取基准元素base首元素中间元素最后元素随机元素等等。以基准元素为基准将小于基准元素的元素放在前面大于基准元素的放在后面。然后以基准元素为界限分为两组数据。两组元素重复1、2和3步骤直至比较排序完成。 快排的最坏运行时间为O(n^2)平均运行时间为O(nlogn)。由于跳跃式交换比较故不稳定稳定是指值一样的原始顺序保持不变。 针对这道题递归直到 base 右边有k-1个数停止即可。 class Solution { public:vectorint quickSort(vectorintnums, int start, int end, int K){if (start end) return nums;int base nums[start];int i start;int j end;while (i j){while (i j nums[j] base) j--; //从右往左寻找比base小的数swap(nums[i], nums[j]);while (i j nums[i] base) i;swap(nums[i], nums[j]);}if(nums.size()-iK) //如果base右边的数超过K个则第K大数肯定在base右边此时就不需要对base左边的进行排序quickSort(nums, start, i - 1, K);quickSort(nums, i 1, end, K);return nums;}int findKth(vectorint a, int n, int K) {quickSort(a, 0, n-1, K);return a[n-K];} };时间复杂度最坏O(n log n)最好On
http://www.yutouwan.com/news/458581/

相关文章:

  • 网站做反向解析wordpress显示的是文件目录
  • 电脑路由器做网站服务器宁波建网站方式
  • 在自己电脑建设网站logo网站设计论文
  • 网站注册登录页面设计wordpress首页文章列表丰富多样
  • 南昌网站建设技术托管做特产网站的原因
  • 怎么建设一个国外的网站甜品店网站建设
  • 建设拼多多一样网站需要多少钱免费的png素材网
  • 福田网站建设龙岗网站建设罗湖网站建设罗湖网站建设央视十大广告代理公司
  • 沈阳个人网站建设代理品牌vs2010 c 建设网站
  • 网站seo内链建设空间网站认证
  • 长沙做网站建设价格怎么做公众号小程序
  • 毕业答辩问题怎么做的这个网站怎么把网站设置为信任网站
  • 该网站正在建设网站运营和seo的区别
  • 网站建设 div怎么用建设工程公司岗位职责
  • 做网站要花钱吗wordpress留言群发
  • 中心网站设计爱站工具想说超人下拉系统
  • 深圳外包网站制作公司好用的网站链接
  • 昭通网站制作如何查网站的备案信息
  • 什么网站发布任务有人做dede网站地图栏目如何上传文件
  • 江苏省城乡建设厅网站那个企业网站是用vue做的
  • 免费招聘网站建设本人已履行网站备案信息
  • 上海哪里有做网站的下载广安同城app
  • 在合肥做网站前端月薪大概多少做网站前端和平面配合
  • 招商网站建设定做做网站推广的价格
  • 番禺低价网站建设网站开发 改进
  • 采集文章留在网站建筑设计公司经营范围有哪些
  • 山东威海网站开发北京企业信息查询官网
  • 阿里云 拦截网站网站商城例子下载
  • 微网站需要什么技术做平面设计有前途吗
  • ks免费刷粉网站推广马上刷江西省城乡建设培训中心网站