ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

力扣215. 数组中的第K个最大元素

力扣215. 数组中的第K个最大元素

力扣215. 数组中的第K个最大元素

image

 1.二叉最小堆法:维护一个size为k的最小堆,每次从堆中去除一个比item更小的元素,最后留下的便是最大的k个元素。(nlogn)

 1 class Solution {
 2 public:
 3     int findKthLargest(vector<int>& nums, int k) {
 4         priority_queue<int, vector<int>, greater<int>> heap;
 5         for (int item : nums) {
 6             heap.push(item);
 7             if (heap.size() > k) {
 8                 heap.pop();
 9             }
10         }
11         return heap.top();
12     }
13 };

 

返回列表