문제 설명:
정렬되지 않은 배열에서 k 번째로 큰 요소를 찾습니다 . 정렬 된 순서에서 k 번째 고유 요소가 아니라 k 번째로 큰 요소입니다.
예 1 :
입력 : [3,2,1,5,6,4]
및 k = 2
출력 : 5
예 2 :
입력 : [3,2,3,1,2,4,5,5,6]
및 k = 4
출력 : 4
문제 해결됨:
힙 정렬 사용 :
class Solution {
public:
int findKthLargest(vector<int>& nums, int k) {
make_heap(nums.begin(), nums.end());
for(int i = 0; i < k - 1; i++)
pop_heap(nums.begin(), nums.end()-i);
return *nums.begin();
}
};