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

古典风格中药医药企业网站模板源码wordpress 产品展示 插件

古典风格中药医药企业网站模板源码,wordpress 产品展示 插件,桃城网站建设公司,加盟. - 力扣#xff08;LeetCode#xff09;给定整数数组 nums 和整数 k#xff0c;请返回数组中第 k 个最大的元素。 请注意#xff0c;你需要找的是数组排序后的第 k 个最大的元素#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问…. - 力扣LeetCode给定整数数组 nums 和整数 k请返回数组中第 k 个最大的元素。 请注意你需要找的是数组排序后的第 k 个最大的元素而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1,5,6,4], k 2 输出: 5示例 2: 输入: [3,2,3,1,2,4,5,5,6], k 4 输出: 4提示 1 k nums.length 105-104  nums[i] 104 思路1基于堆排序的选择方法 排序 - - - 选择排序简单选择、堆排序_c#排序中选择排序中的dui排序-CSDN博客 「调整」 父节点都大于或小于子结点 // 以root为根调整大根堆void heapAdjust(vectorint nums, int root, int heapSize){int i root; // i保存根节点下标for(int j i*2 1; j heapSize; j i*21){// j保存孩子中最大值下标if(j heapSize - 1 nums[j] nums[j1]){j;}if(nums[i] nums[j]){break;}else{swap(nums[i], nums[j]);i j;}}} 「建堆」 将排序码k1k2k3…kn表示成一棵完全二叉树然后从第 n/2个排序码(即树的最后一个非终端结点)开始筛选使由该结点作根结点组成的子二叉树符合堆的定义然后从第 n/2-1 个排序码重复刚才操作直到第一个排序码止。 void buildHeap(vectorintnums, int heapSize){for(int i heapSize / 2; i 0; i--){heapAdjust(nums, i, heapSize);}} 「删除」 将堆中第一个结点二叉树根结点和最后一个结点的数据进行交换k1与kn再将k1~kn-1重新建堆然后k1和kn-1交换再将k1~kn-2重新建堆然后k1和kn-2交换如此重复下去每次重新建堆的元素个数不断减1直到重新建堆的元素个数仅剩一个为止。这时堆排序已经完成则排序码k1k2k3…kn已排成一个有序序列。 class Solution { private:// 以root为根调整大根堆void heapAdjust(vectorint nums, int root, int heapSize){int i root; // i保存根节点下标for(int j i*2 1; j heapSize; j i*21){// j保存孩子中最大值下标if(j heapSize - 1 nums[j] nums[j1]){j;}if(nums[i] nums[j]){break; // 因为从叶子节点向上调节所以没有节点交换其子树也不许变化}else{swap(nums[i], nums[j]);i j; // j节点调整其子树也需要调整}}}void buildHeap(vectorintnums, int heapSize){for(int i heapSize / 2; i 0; i--){heapAdjust(nums, i, heapSize);}}public:int findKthLargest(vectorint nums, int k) {int heapSize nums.size();buildHeap(nums, heapSize);// 第k大数倒数for(int i nums.size() - 1; i nums.size() - k; --i){swap(nums[0],nums[i]);--heapSize;heapAdjust(nums, 0, heapSize);}return nums[0];} }; 思路2基于快速排序的选择方法 排序 - - - 交换排序快速排序、冒泡排序-CSDN博客 class Solution { private:int partition(vectorintnums, int l, int r){int key nums[l];while(l r){while(l r nums[r] key) r--;nums[l] nums[r];while(l r nums[l] key) l;nums[r] nums[l];}nums[l] key;return l;}int quickSelect(vectorint nums, int l, int r, int k){int index partition(nums, l, r);if(index k)return nums[k];elsereturn index k ? quickSelect(nums, index 1, r, k) // index数小于第k数则在index右边查找: quickSelect(nums, l, index - 1, k); // index数大于第k数则在index左边查找}public:int findKthLargest(vectorint nums, int k) {return quickSelect(nums, 0, nums.size() - 1, nums.size() - k); // 返回倒数k位置数} };
http://www.sczhlp.com/news/162872/

相关文章:

  • 购物网站功能详细介绍wordpress 网站标题设置
  • 南京做网站dmooo深圳网站订制开发
  • 湘潭做网站价格 q磐石网络殷氏科技网站建设工作室
  • 网站赚钱思路wordpress 升级慢
  • 扬州润扬交通建设集团网站wordpress备案号代码
  • 佛山网站制作网站dw-focus wordpress主题
  • 中国十佳企业网站设计公司哪个网站专做进口商品的
  • 带会员系统的网站模板网站建设案例基本流程
  • 2_网站建设的一般步骤包含哪些海南省城乡住房建设厅网站首页
  • 做微网站公司简介户外网站设计
  • 厦门城乡住房建设厅网站首页公司建设网站的优缺点
  • 非商业组织的网站风格两个wordpress共用一个数据库
  • 建网站相关知识怎么做投票 网站
  • 怎样监测熊掌号绑定成功网站做购物网站适合的服务器
  • Solar9月赛wp - 场
  • 外包加工网站虚拟主机怎么上传网站
  • 网站建设服务开发普通网站制作
  • 微信推广网站建设制作公司官网的步骤
  • 网站做优化效果怎么样合肥网络推广软件
  • 做百度网站每年的费用多少合适定制美瞳网站建设
  • 视网站亏损了为什么还做app定制软件开发哪家好
  • 佛山seo网站优化给企业建设网站的意义
  • 寿光网站建设m0536企业网站制作优化
  • 购物网站销售管理苏州网站建设公司找哪家
  • 给期货交易类做网站违法吗公司网站不备案和备案有什么区别
  • 网站建设推广合同网络建设与维护是什么工作
  • 互联网营销公司经营范围网站流量seo
  • 网站开发分为哪几种类型电脑工具wordpress
  • 安徽省建设监理有限公司网站网站改版重新收录
  • 实用指南:深度解析Sora2:技术革命与创意产业的未来图景