diff options
Diffstat (limited to 'other/kth_element_in_stream.cpp')
-rw-r--r-- | other/kth_element_in_stream.cpp | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/other/kth_element_in_stream.cpp b/other/kth_element_in_stream.cpp deleted file mode 100644 index 75e5234..0000000 --- a/other/kth_element_in_stream.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "leetcode.h" - -class KthLargest { -private: - int k; - priority_queue<int, vector<int>, greater<int>> pq; - -public: - KthLargest(int k, vector<int> &nums) { - this->k = k; - auto endPointer = nums.begin() + min(k, nums.size()); - pq = priority_queue<int, vector<int>, greater<int>>(nums.begin(), - endPointer); - for (int i = k; i < nums.size(); ++i) { - pq.push(nums[i]); - pq.pop(); - } - } - int add(int val) { - pq.push(val); - if (pq.size() > k) - pq.pop(); - return pq.top(); - } -}; - -int main() { - vector<int> nums({4, 5, 8, 2}), stream({3, 5, 10, 9, 4}); - KthLargest *obj = new KthLargest(3, nums); - for (auto num : stream) - cout << obj->add(num) << ' '; -} |