215. 数组中的第K个最大元素
2026/9/16 13:02:00 网站建设 项目流程

215. 数组中的第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

提示:

  • 1 <= k <= nums.length <= 105
  • -104 <= nums[i] <= 104
class Solution { public: int findKthLargest(vector<int>& nums, int k) { priority_queue<int, vector<int>, greater<int>> heap; for(int i=0; i<nums.size(); ++i){ heap.push(nums[i]); if(heap.size() > k){ heap.pop(); } } return heap.top(); } };

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询