diff --git a/heaps/k_element_stream.py b/heaps/k_element_stream.py new file mode 100644 index 0000000..8c8a261 --- /dev/null +++ b/heaps/k_element_stream.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# author: bt3gl + + +class KthLargest: + + def __init__(self, k, nums): + + self.k = k + self.heap = nums + heapq.heapify(self.heap) + + while len(self.heap) > k: + heapq.heappop(self.heap) + + + def add(self, val: int) -> int: + + heapq.heappush(self.heap, val) + if len(self.heap) > self.k: + heapq.heappop(self.heap) + + return self.heap[0] + + +