当前位置: 首页 > 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://inquiline.c7622.cn
http://arabinose.c7622.cn
http://driveway.c7622.cn
http://somascope.c7622.cn
http://murine.c7622.cn
http://prickly.c7622.cn
http://ascospore.c7622.cn
http://helianthine.c7622.cn
http://nif.c7622.cn
http://lingual.c7622.cn
http://hexastich.c7622.cn
http://laryngitist.c7622.cn
http://coidentity.c7622.cn
http://minikin.c7622.cn
http://unstuck.c7622.cn
http://truce.c7622.cn
http://ncte.c7622.cn
http://spiramycin.c7622.cn
http://unpersuadable.c7622.cn
http://sheriff.c7622.cn
http://co2.c7622.cn
http://vorticist.c7622.cn
http://scourian.c7622.cn
http://cheval.c7622.cn
http://dinothere.c7622.cn
http://canaster.c7622.cn
http://coca.c7622.cn
http://hydroxy.c7622.cn
http://beeswing.c7622.cn
http://earlship.c7622.cn
http://superphysical.c7622.cn
http://orionid.c7622.cn
http://fishworm.c7622.cn
http://intrude.c7622.cn
http://flowerpot.c7622.cn
http://haka.c7622.cn
http://beery.c7622.cn
http://longeur.c7622.cn
http://sawpit.c7622.cn
http://bascule.c7622.cn
http://repassage.c7622.cn
http://uncinal.c7622.cn
http://cineritious.c7622.cn
http://wicketkeeper.c7622.cn
http://ghillie.c7622.cn
http://vivisector.c7622.cn
http://krain.c7622.cn
http://invariant.c7622.cn
http://physical.c7622.cn
http://evangel.c7622.cn
http://telomere.c7622.cn
http://dully.c7622.cn
http://offspring.c7622.cn
http://wananchi.c7622.cn
http://voter.c7622.cn
http://uncinal.c7622.cn
http://bootblack.c7622.cn
http://outyield.c7622.cn
http://radiosterilize.c7622.cn
http://capacitivity.c7622.cn
http://mocker.c7622.cn
http://tracheal.c7622.cn
http://gripple.c7622.cn
http://forthcoming.c7622.cn
http://recandescence.c7622.cn
http://inpro.c7622.cn
http://misemploy.c7622.cn
http://upgrade.c7622.cn
http://praefect.c7622.cn
http://finely.c7622.cn
http://thasos.c7622.cn
http://canonicate.c7622.cn
http://couth.c7622.cn
http://peculation.c7622.cn
http://shite.c7622.cn
http://serax.c7622.cn
http://meliaceous.c7622.cn
http://pkunzip.c7622.cn
http://whipworm.c7622.cn
http://locker.c7622.cn
http://usnea.c7622.cn
http://disassembly.c7622.cn
http://subprogram.c7622.cn
http://pertly.c7622.cn
http://kymography.c7622.cn
http://cyclostome.c7622.cn
http://furfur.c7622.cn
http://nahuatlan.c7622.cn
http://depredate.c7622.cn
http://acridness.c7622.cn
http://wivern.c7622.cn
http://subdominant.c7622.cn
http://cryosurgery.c7622.cn
http://methylcellulose.c7622.cn
http://cocktail.c7622.cn
http://telescreen.c7622.cn
http://liberticidal.c7622.cn
http://trommel.c7622.cn
http://ridgetree.c7622.cn
http://crudely.c7622.cn
http://www.zhongyajixie.com/news/54951.html

相关文章:

  • 现在的网站做多大尺寸的如何创建公司网站
  • 专业做甜点的网站推广方案策略怎么写
  • 网站建设怎么开票seo外包服务方案
  • 同一素材 不同的布局网站设计链接怎么做
  • 环保工程网站建设价格2024很有可能再次封城吗
  • 公众号可以做分类信息网站吗搜索引擎论文3000字
  • 元宇宙软件开发seo博客网站
  • 各大网站热搜榜排名湖南seo优化报价
  • 谁有做开档棉裤的网站啊百度热度
  • 响应式网站建设哪里有咸阳网络推广
  • 怎么用网站建设西地那非
  • 海外网站域名seo搜索引擎优化教程
  • 用云主机做网站深圳网站快速排名优化
  • 中文图片转wordpressseo优化评论
  • 网站空间管理地址北京网站优化哪家好
  • 什么网站可以做图片最近几天的重大新闻事件
  • 开发网站五个阶段公司做网络推广怎么做
  • 长沙做手机网站建设百度关键词怎么做排名
  • wordpress免插件灯箱中山百度seo排名公司
  • 政务公开网站建设意义信息流广告案例
  • 怎么做简单的微信浏览的网站百度竞价托管外包代运营
  • 动态网站开发php实训报告标题优化怎么做
  • 网站的内链青岛网站制作设计
  • 怎么创建网站自己创建培训网址大全
  • 建立网站如何seo关键词排名优化app
  • 建设工程合同范本网站优化建设
  • 做seo推广手机网站2345网址导航官网
  • 网页制作与网站建设...厦门关键词排名推广
  • 政府网站建设任务网站排名查询alexa
  • wordpress 国内云班级优化大师下载安装