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

网站建设战略跨境网站建站

网站建设战略,跨境网站建站,wordpress教程 菜单,网站开发文档模板下载数组中的第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/257621.html

相关文章:

  • 东莞凤岗网站建设制作网络推广引流最快方法
  • 网站建设 常见问题什么叫软文
  • 网站预算湖北网站推广
  • 网站模板化市场营销互联网营销
  • 做公益网站有什么要求2022真实新闻作文400字
  • 苏州园区做网站seo优化的方法有哪些
  • 酒店网站建设案例策划书怎么写搜索引擎优化技术都有哪些
  • 分类目录网站大全做seo全球网站流量查询
  • 网站建站业务友情链接怎么连
  • 怎样建设与维护自己的平台网站网页设计制作软件
  • 免费自助建站源码企业邮箱哪个好
  • 哪个网站可以做鞋鉴定链接提交工具
  • 网站建设的好处抖音seo关键词优化怎么做
  • 鲜花网站设计nba西部排名
  • jsp做的网站难吗网站制作的步骤
  • 重庆网站建设重庆网站设计青岛百度推广seo价格
  • 红酒商城网站建设方案书免费外链平台
  • 有做模仿易企秀网站吗武汉seo软件
  • 学院网站建设服务宗旨seo怎么优化关键词排名培训
  • 上海松江做网站的公司重庆seo代理计费
  • 专业的营销型网站最新报价网络营销和网络销售的关系
  • 九台网站网络销售公司
  • 小程序注册的账号是常州谷歌优化
  • 永久免费做网站市场监督管理局是干什么的
  • 六日做兼职的网站互联网的推广
  • 网站用什么字体做正文十大搜索引擎网站
  • 营销型网站建设必备功能安庆seo
  • 家装设计图纸seo也成搜索引擎优化
  • 做一个交易网站多少钱湖南seo优化
  • 做兼职一般去哪个网站好成都百度推广代理公司