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

wordpress文章中文版/优化算法

wordpress文章中文版,优化算法,郑州做网站外包的公司,dede 中英文网站 怎么做题目描述 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k 4 输出: 4 说明: 你可…

题目描述

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。

示例 1:

输入: [3,2,1,5,6,4] 和 k = 2
输出: 5

示例 2:

输入: [3,2,3,1,2,4,5,5,6] 和 k = 4
输出: 4

说明:

你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。

 

思路

这题利用了 priority_queue 优先队列,默认声明 priority_queue<int> q 的时候 q 是大根堆,即堆中元素从大到小排列(堆顶永远是堆中最大元素),按代码中定义 q 是小根堆,即堆顶元素永远是该堆中的最小元素。

本题中,先把 k 个元素加入堆中,这时堆顶元素应为前 k 个元素中第 k 大的,然后遍历数组剩余元素,若遍历的元素大于堆顶元素,即替换堆顶元素,这样遍历结束后堆顶元素即为所求。

 

代码

class Solution {
public:int findKthLargest(vector<int>& nums, int k) {priority_queue<int, vector<int>, greater<int>> q;for(int i=0;i<nums.size();i++){if(i < k){q.push(nums[i]);}else if(nums[i] > q.top()){q.pop();q.push(nums[i]);}}return q.top();}
};

 

http://www.jmfq.cn/news/4851559.html

相关文章:

  • 兵团建设环保局网站/知乎小说推广对接平台
  • 南京做网站价格/seo zac
  • 推广网站的软文/网站制作厂家有哪些
  • 护肤品主题网站怎么做/社区建站网站系统
  • 专业网站建设出售/黑龙江头条今日新闻
  • 番禺区大石做网站/优化排名软件
  • 房产网站 设计方案/大数据统计网站
  • 免费做网站建设/seo技术培训
  • 深圳市建设工程有限公司/江西优化中心
  • 分销平台官网/优化内容
  • 网站建设总体目标/优化网络搜索引擎
  • google网站优化工具/百度自动优化
  • 烟台网站建设服务/站长工具权重查询
  • 阿里云虚拟主机搭建wordpress/无锡seo优化
  • 对网站建设心得/彩虹云商城网站搭建
  • mvc5 网站开发之美/链接搜索
  • 秋林 做网站/企业网站代运营
  • 全套vi设计案例欣赏/惠州seo收费
  • wordpress建站博客园/艾滋病多久可以查出来
  • 做网站的目标是什么/整合营销经典案例
  • 崇左市住房和城乡建设委员会网站/百度小说排行榜2020
  • vue做网站的实例/营销推广方法有哪些
  • 为什么做域名跳转网站样式不见了/新乡seo网络推广费用
  • 诏安网站建设/橙子建站
  • 分公司一般做网站吗/产品推广步骤
  • 义乌做网站要多少钱/购买友情链接网站
  • 做静态网站需要什么/北大青鸟
  • 完善网站建设通知/深圳网络营销全网推广
  • 公司网站怎么注销/厦门人才网招聘官网
  • 建设银行官方网站企业网银/郑州网站seo