215-kth-largest-element-in-an-array¶
Try it on leetcode
Description¶
Given an integer array nums
and an integer k
, return the kth
largest element in the array.
Note that it is the kth
largest element in the sorted order, not the kth
distinct element.
Example 1:
Input: nums = [3,2,1,5,6,4], k = 2 Output: 5
Example 2:
Input: nums = [3,2,3,1,2,4,5,5,6], k = 4 Output: 4
Constraints:
1 <= k <= nums.length <= 104
-104 <= nums[i] <= 104
Solution(Python)¶
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
n = len(nums)
heap = []
heapq.heapify(heap)
for i in range(n):
if len(heap) < k:
heapq.heappush(heap, nums[i])
else:
heapq.heappushpop(heap, nums[i])
return heap[0]