kth-largest-element-in-a-streamV2.py (442B)
1 from heapq import heapify, heappush, heappop 2 3 4 class KthLargest: 5 6 def __init__(self, k: int, nums: List[int]): 7 heapify(nums) 8 self.nums = nums 9 self.k = k 10 self.prune() 11 12 def prune(self): 13 k = self.k 14 nums = self.nums 15 while len(nums) > k: 16 heappop(nums) 17 18 def add(self, val: int) -> int: 19 heappush(self.nums, val) 20 self.prune() 21 return self.nums[0]