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

网站建设战略东莞网站推广营销

网站建设战略,东莞网站推广营销,我的网站打不开,建设中网站源码数组中的第k个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: …

数组中的第k个最大元素

给定整数数组 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

思路:

  • sort排序
    从大到小排序后,返回第k-1个元素。
  • 优先队列
    大堆的时间复杂度是 k ∗ l o g 2 N k * log_2N klog2N
    小堆的时间复杂度是 ( N − K ) ∗ l o g 2 K (N-K)*log_2K (NK)log2K
    当k不大时,还是与O(N)接近的。

代码:

sort排序

class Solution {
public:int findKthLargest(vector<int>& nums, int k) {sort(nums.begin(), nums.end(), greater<int>());return nums[k - 1];}
};

大堆

class Solution {
public:int findKthLargest(vector<int>& nums, int k) {//大堆 k * logNpriority_queue<int> pq(nums.begin(), nums.end());while (--k){pq.pop();}return pq.top();}
};

小堆

class Solution {
public:int findKthLargest(vector<int>& nums, int k) {//小堆 (N- K)* logNpriority_queue<int, vector<int>, greater<int>> pq(nums.begin(), nums.begin() + k);for (int i = k; i < nums.size(); ++i){if (nums[i] > pq.top()){pq.pop();pq.push(nums[i]);}}return pq.top();}
};
http://www.dtcms.com/wzjs/405865.html

相关文章:

  • dw怎么制作好看的个人网页宁波seo网站推广
  • 工信部icp备案管理系统郑州关键词网站优化排名
  • 想要弄一个网站怎么弄seo优化效果
  • 视频网站做游戏分发今日头条新闻大事件
  • 收藏手机网站代码扬州网络推广公司
  • 网站更新与维护网站手机版排名seo
  • 靖江市属于哪里有做网站的互联网网络推广公司
  • 广州网站开发平台广东vs北京首钢
  • 冠县网站建设营销策划公司的经营范围
  • 接私活做网站设计网络营销外包推广价格
  • 深圳市龙华区网站建设seo优化百度技术排名教程
  • 寻找东莞微信网站建设产品软文范例100字
  • 网站的线下推广怎么做宁波seo推广服务
  • 北京网站建设需要多少钱济宁seo公司
  • xyz溢价域名最好的网站网络违法犯罪举报网站
  • 学习网站建设与管理谷歌搜索广告优化
  • 做影视免费网站违法吗关键词首页排名优化价格
  • 云适配 网站什么关键词可以搜到那种
  • 设计学校排名中国百度app优化
  • 温州市网站制作公司全网最低价24小时自助下单平台
  • 决定网站打开的速度吗免费加客源软件
  • 网站审核时间推广软件的app
  • 哪里网站做的好外链群发
  • 手机网站建设域名空间最新新闻消息
  • 建设一个网站需要什么硬件如何做网址
  • 北京住房和经济建设发展委员会网站家庭优化大师免费下载
  • 自己做网站怎么做游戏推广员怎么做
  • 简历模板电子版免费seo视频教程汇总
  • 做网站的服务器要什么格式西安核心关键词排名
  • 想要给网站投稿如何做云搜索网页版入口