Min-heap of size k. Return heap minimum after each add.
class KthLargest: def init(self, k, nums): self.k = k self.heap = [] for num in nums: self.add(num)
def add(self, val):
if len(self.heap) < self.k:
heappush(self.heap, val)
elif val > self.heap[0]:
heapreplace(self.heap, val)
return self.heap[0]
per add, space.