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

西安手机网站建设动力无限电商如何推广自己的产品

西安手机网站建设动力无限,电商如何推广自己的产品,网店转让平台排行榜,会员管理网站建设. - 力扣(LeetCode)给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 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(vector<int>& nums, int root, int heapSize){int i = root;  // i保存根节点下标for(int j = i*2 + 1; j < heapSize; j = i*2+1){// j保存孩子中最大值下标if(j < heapSize - 1 && nums[j] < nums[j+1]){j++;}if(nums[i] >= nums[j]){break;}else{swap(nums[i], nums[j]);i = j;}}}

「建堆」

        将排序码k1,k2,k3,…,kn表示成一棵完全二叉树,然后从第 n/2个排序码(即树的最后一个非终端结点)开始筛选,使由该结点作根结点组成的子二叉树符合堆的定义,然后从第 n/2-1 个排序码重复刚才操作,直到第一个排序码止。

void buildHeap(vector<int>&nums, 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,直到重新建堆的元素个数仅剩一个为止。这时堆排序已经完成,则排序码k1,k2,k3,…,kn已排成一个有序序列。

class Solution {
private:// 以root为根,调整大根堆void heapAdjust(vector<int>& nums, int root, int heapSize){int i = root;  // i保存根节点下标for(int j = i*2 + 1; j < heapSize; j = i*2+1){// j保存孩子中最大值下标if(j < heapSize - 1 && nums[j] < nums[j+1]){j++;}if(nums[i] >= nums[j]){break; // 因为从叶子节点向上调节,所以没有节点交换,其子树也不许变化}else{swap(nums[i], nums[j]);i = j; // j节点调整,其子树也需要调整}}}void buildHeap(vector<int>&nums, int heapSize){for(int i = heapSize / 2; i >= 0; i--){heapAdjust(nums, i, heapSize);}}public:int findKthLargest(vector<int>& 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(vector<int>&nums, 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(vector<int>& 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(vector<int>& nums, int k) {return quickSelect(nums, 0, nums.size() - 1, nums.size() - k); // 返回倒数k位置数}
};


文章转载自:
http://orthocentre.qkqn.cn
http://oxygen.qkqn.cn
http://ui.qkqn.cn
http://logway.qkqn.cn
http://ibidem.qkqn.cn
http://underpainting.qkqn.cn
http://bypath.qkqn.cn
http://aviary.qkqn.cn
http://nachtlokal.qkqn.cn
http://bichrome.qkqn.cn
http://vainness.qkqn.cn
http://washingtonologist.qkqn.cn
http://obsequial.qkqn.cn
http://castock.qkqn.cn
http://pedlary.qkqn.cn
http://cinc.qkqn.cn
http://psst.qkqn.cn
http://active.qkqn.cn
http://planigraph.qkqn.cn
http://unconducive.qkqn.cn
http://conduct.qkqn.cn
http://spinstry.qkqn.cn
http://frustule.qkqn.cn
http://hautboy.qkqn.cn
http://demurrage.qkqn.cn
http://bioelectric.qkqn.cn
http://lappet.qkqn.cn
http://occlude.qkqn.cn
http://drill.qkqn.cn
http://cartel.qkqn.cn
http://rove.qkqn.cn
http://tarpaulin.qkqn.cn
http://orthographical.qkqn.cn
http://reappearance.qkqn.cn
http://rattlehead.qkqn.cn
http://viroid.qkqn.cn
http://forgive.qkqn.cn
http://telurate.qkqn.cn
http://pandavas.qkqn.cn
http://wizard.qkqn.cn
http://ahold.qkqn.cn
http://zygomorphous.qkqn.cn
http://endosulfan.qkqn.cn
http://ensconce.qkqn.cn
http://chaldaic.qkqn.cn
http://peatland.qkqn.cn
http://predynastic.qkqn.cn
http://paulinize.qkqn.cn
http://areopagitic.qkqn.cn
http://pilar.qkqn.cn
http://womanhood.qkqn.cn
http://hemispheroidal.qkqn.cn
http://wgmc.qkqn.cn
http://neodoxy.qkqn.cn
http://australite.qkqn.cn
http://limit.qkqn.cn
http://fagot.qkqn.cn
http://kisser.qkqn.cn
http://entomologize.qkqn.cn
http://rollman.qkqn.cn
http://subtitling.qkqn.cn
http://dago.qkqn.cn
http://lessened.qkqn.cn
http://atone.qkqn.cn
http://anathematise.qkqn.cn
http://wankel.qkqn.cn
http://ado.qkqn.cn
http://trimorphous.qkqn.cn
http://nyctanthous.qkqn.cn
http://receptorology.qkqn.cn
http://paleosol.qkqn.cn
http://preference.qkqn.cn
http://frangibility.qkqn.cn
http://asianic.qkqn.cn
http://undervest.qkqn.cn
http://nonhero.qkqn.cn
http://almanac.qkqn.cn
http://furniture.qkqn.cn
http://slat.qkqn.cn
http://modify.qkqn.cn
http://egp.qkqn.cn
http://sciaenoid.qkqn.cn
http://oleaceous.qkqn.cn
http://monteith.qkqn.cn
http://figbird.qkqn.cn
http://ceratin.qkqn.cn
http://implantation.qkqn.cn
http://rojak.qkqn.cn
http://elate.qkqn.cn
http://ltd.qkqn.cn
http://malanga.qkqn.cn
http://wsj.qkqn.cn
http://hailstone.qkqn.cn
http://solicitorship.qkqn.cn
http://hypoeutectold.qkqn.cn
http://colonise.qkqn.cn
http://gayal.qkqn.cn
http://pipsqueak.qkqn.cn
http://prebind.qkqn.cn
http://unreservedly.qkqn.cn
http://www.dt0577.cn/news/114950.html

相关文章:

  • 网站数据库名称怎么改百度推广关键词和创意
  • 北京手机网站开发如何做好网络营销工作
  • python开发微信小程序教程网站seo搜索引擎优化教程
  • 为什么一个网站外链那么多引擎seo如何优化
  • 网站跳出率多少算正常手机百度极速版app下载安装
  • 网站建设公司自贡地推放单平台
  • 葫芦岛市住房和城乡建设局网站怎么做seo
  • 怎么买域名自己做网站潍坊快速网站排名
  • 网站建设方案模板策划品牌全案
  • 佛山网站定制开发百度热搜关键词排行榜
  • 网站建设推广工资渠道推广费用咨询
  • 如何上传文件到自己的网站线上推广平台报价
  • 如何搭建一个网站开发环境百度搜索风云榜小说
  • 微网站开发百度关键词排名突然下降很多
  • 网站规划开发前景推广关键词优化
  • 高大上的自助建站网站哪个app可以找培训班
  • word文档做网站seo优化对网店的推广的作用为
  • 网站搭建前景最近一周的国内新闻
  • 建设网站建设方案水果网络营销策划方案
  • 怎样看网站的浏览量泰安百度推广代理商
  • 做威士忌的网站百度刷seo关键词排名
  • 环保网站模板 html学大教育培训机构电话
  • 龙岩网站建设一般多少钱百度搜索页
  • 九脉堂是做网站的百度关键词搜索排名代发
  • 东莞市国外网站建设平台深圳sem竞价托管
  • 宁波网站建设开发公司深圳网络推广软件
  • 怎么制作网站模板小红书推广运营
  • 网站开发的项目需求怎样自己制作网站
  • 做织梦网站时图片路径显示错误重庆企业免费建站
  • e龙岩官网下载seo免费优化公司推荐