您现在的位置是:主页 > news > 百度经验网站建设/建站宝盒
百度经验网站建设/建站宝盒
admin2025/6/16 6:10:43【news】
简介百度经验网站建设,建站宝盒,wordpress 图片在哪,中国志愿者服务网站登录注册https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/ 思路:用treaptreaptreap之类的数据结构肯定可以搞定,不过这道题目只有插入操作,没有删除操作,且kkk是固定的,那么直接用堆就可以了。维护一个元素…
百度经验网站建设,建站宝盒,wordpress 图片在哪,中国志愿者服务网站登录注册https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/ 思路:用treaptreaptreap之类的数据结构肯定可以搞定,不过这道题目只有插入操作,没有删除操作,且kkk是固定的,那么直接用堆就可以了。维护一个元素…
https://leetcode-cn.com/problems/kth-largest-element-in-a-stream/
思路:用treaptreaptreap之类的数据结构肯定可以搞定,不过这道题目只有插入操作,没有删除操作,且kkk是固定的,那么直接用堆就可以了。维护一个元素个数恰好为kkk的小根堆,那么堆顶元素就是第kkk大元素。
class KthLargest {
public:priority_queue<int,vector<int>,greater<int>> q;int k;KthLargest(int k, vector<int>& nums):k(k),q(move(priority_queue<int,vector<int>,greater<int>>(nums.begin(),nums.end()))) {while(q.size()>k)q.pop();}int add(int val) {q.push(val);if(q.size()>k)q.pop();return q.top();}
};/*** Your KthLargest object will be instantiated and called as such:* KthLargest* obj = new KthLargest(k, nums);* int param_1 = obj->add(val);*/