https://leetcode.com/problems/kth-largest-element-in-an-array/description/
주어진 정수 배열에서 k 번째로 큰 수를 찾아라.
k번째로 큰 수는
minPriority Queue 에 배열을 넣고,
큐 사이즈가 k 가 될때까지 큐를 pop한다.
그리되면 사이즈 k 보다 작은 값들은 pop되고
k 개수 만큼 큰 값들만 남게 된다.
그 중 top이 k 번째로 큰 값이 된다.
코드
int findKthLargest(vector<int>& nums, int k)
{
priority_queue<int, vector<int>, greater<int> > minPQ;
for (int q = 0; q < nums.size(); ++q)
minPQ.push(nums[q]);
while (minPQ.size() > k)
minPQ.pop();
return minPQ.top();
}
결과
'Leetcode > NeetCode' 카테고리의 다른 글
[👍][BackTrack][Medium] 78. Subsets (1) | 2024.07.23 |
---|---|
[PriorityQueue][Medium] 621. Task Scheduler. (3) | 2024.07.20 |
[PriorityQueue][Medium] 973. K Closest Points to Origin (0) | 2024.07.20 |
[PriorityQueue][Easy] 1046. Last Stone Weight (0) | 2024.07.20 |
[👍][PriorityQueue][Easy] 703. Kth Largest Element in a Stream (0) | 2024.07.19 |