From 27844c5e51efc479057be5dfce53990805495ae5 Mon Sep 17 00:00:00 2001 From: Jidong Xiao Date: Tue, 14 Nov 2023 00:47:32 -0500 Subject: [PATCH] adding a pq problem --- lectures/22_priority_queues/README.md | 2 +- leetcode/p215_kth_largest_element.cpp | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 leetcode/p215_kth_largest_element.cpp diff --git a/lectures/22_priority_queues/README.md b/lectures/22_priority_queues/README.md index 3ee7d57..b582163 100644 --- a/lectures/22_priority_queues/README.md +++ b/lectures/22_priority_queues/README.md @@ -123,7 +123,7 @@ Lambda is new to the C++ language (part of C++11). But lambda is a core piece of ## 22.8 Leetcode Exercises -- [Leetcode problem 215: Kth Largest Element in an Array](https://leetcode.com/problems/rearrange-words-in-a-sentence/). Solution: [p1451_rearrange_words_in_a_sentence.cpp](../../leetcode/p1451_rearrange_words_in_a_sentence.cpp). +- [Leetcode problem 215: Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/). Solution: [p215_kth_largest_element.cpp](../../leetcode/p215_kth_largest_element.cpp). - [Leetcode problem 373: Find K Pairs with Smallest Sums](https://leetcode.com/problems/most-frequent-subtree-sum/). Solution: [p508_most_frequent_subtree_sum.cpp](../../leetcode/p508_most_frequent_subtree_sum.cpp). - [Leetcode problem 692: Top K Frequent Words](https://leetcode.com/problems/implement-stack-using-queues/). Solution: [p225_stack_using_queues.cpp](../../leetcode/p225_stack_using_queues.cpp). - [Leetcode problem 912: Sort an Array](https://leetcode.com/problems/implement-queue-using-stacks/). Solution: [p232_queue_using_stacks.cpp](../../leetcode/p232_queue_using_stacks.cpp). diff --git a/leetcode/p215_kth_largest_element.cpp b/leetcode/p215_kth_largest_element.cpp new file mode 100644 index 0000000..029a5f2 --- /dev/null +++ b/leetcode/p215_kth_largest_element.cpp @@ -0,0 +1,19 @@ +class Solution { +public: + int findKthLargest(vector& nums, int k) { + int ans; + int size = nums.size(); + std::priority_queue pq; + for(int i=0;i1){ + // pop out k-1 times + pq.pop(); + k--; + } + ans = pq.top(); + return ans; + } +};