作者oin1104 (是oin的說)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Tue Aug 13 00:02:51 2024
題目:
做一個會回傳第k個最大的數字的東西
思路:
priority queue 小的是top的順序
放K個東西
這樣top就會是第K個最大的東西了
然後
queue的前面是front
priority queue 的前面是top
明明名字很像可是不一樣
我知道是因為pq背後原理是樹
可是還是會搞錯 很靠北
```cpp
class KthLargest {
public:
priority_queue<int,vector<int> ,greater<int>> save;
KthLargest(int k, vector<int>& nums)
{
save.push(-999999);
for(int k : nums)
{
save.push(k);
}
while(save.size() > k)
{
save.pop();
}
}
int add(int val)
{
save.push(val);
save.pop();
return save.top();
}
};
/**
* Your KthLargest object will be instantiated and called as such:
* KthLargest* obj = new KthLargest(k, nums);
* int param_1 = obj->add(val);
*/
```
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.17.100 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1723478573.A.669.html
推 Smallsh: 大師 08/13 00:02