本題的解題過程如下,首先要明確題目的意思:本題目要求給定vector在放入最小堆之後第k大的元素,我們可以在新增元素的時候(也就是add函式)檢查隊中的元素格式是否大於k,一旦發現大於k那麼就將多餘的數字彈出,當我們將目標值val加入堆中之後,仍然要維護堆的大小,其過程同上,最後將堆頂元素返回即可。
class
kthlargest}}
intadd
(int val)
q.push
(val);if
(q.size()
>k)
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);
*/
LeetCode 703 資料流中的最k大元素
703 資料流中的最k大元素 題目 設計乙個找到資料流中第k大元素的類 class 注意是排序後的第k大元素,不是第k個不同的元素。你的 kthlargest 類需要乙個同時接收整數 k 和整數陣列nums 的構造器,它包含資料流中的初始元素。每次呼叫 kthlargest.add,返回當前資料流中...
Leetcode 703 資料流中的第K大元素
設計乙個找到資料流中第k大元素的類 class 注意是排序後的第k大元素,不是第k個不同的元素。你的 kthlargest 類需要乙個同時接收整數 k 和整數陣列nums 的構造器,它包含資料流中的初始元素。每次呼叫 kthlargest.add,返回當前資料流中第k大的元素。示例 int k 3 ...
leetcode 703 資料流中第K大元素
題目 設計乙個找到資料流中第k大元素的類 class 注意是排序後的第k大元素,不是第k個不同的元素。你的 kthlargest 類需要乙個同時接收整數 k 和整數陣列nums 的構造器,它包含資料流中的初始元素。每次呼叫 kthlargest.add,返回當前資料流中第k大的元素。示例 int k...