Solution 1
Python
from heapq import heapify, heappush, heappop, heappushpop
class KthLargest:
def __init__(self, k: int, nums: List[int]):
heapify(nums)
while len(nums) > k:
heappop(nums)
self.h = nums
self.k = k
def add(self, val: int) -> int:
if len(self.h) < self.k:
heappush(self.h, val)
return self.h[0]
heappushpop(self.h, val)
return self.h[0]
# Your KthLargest object will be instantiated and called as such:
# obj = KthLargest(k, nums)
# param_1 = obj.add(val)