0
点赞
收藏
分享

微信扫一扫

对std::unique_ptr 的误解

yongxinz 2023-09-24 阅读 44

目录

一、第K个最大元素

二、代码

三、最小K个数

四、代码


一、第K个最大元素

215. 数组中的第K个最大元素 - 力扣(LeetCode)

 

二、代码

class Solution {
public:
    int findKthLargest(vector<int>& nums, int k) {
        priority_queue data(nums.begin(),nums.end());//默认建立大根堆
        while(--k)//将前k个最大的数出队列
        {
            data.pop();
        }
        return data.top();
    }
};

三、最小K个数

面试题 17.14. 最小K个数 - 力扣(LeetCode)

四、代码

class Solution {
public:
    vector<int> smallestK(vector<int>& arr, int k) {
        priority_queue<int,vector<int>,greater<int>> minHeap;//建小根堆
        for(int i = 0 ;i<arr.size();i++)
        {
            minHeap.push(arr[i]);
        }
        vector<int>v;
        while(k--)
        {
            v.push_back(minHeap.top());
            minHeap.pop();
        }
        return v;
    }
};
举报

相关推荐

0 条评论