From d6fedcee532cfc0a9d890ff12f584eff3108a93b Mon Sep 17 00:00:00 2001 From: marina <138340846+bt3gl-cryptographer@users.noreply.github.com> Date: Wed, 2 Aug 2023 13:56:52 -0700 Subject: [PATCH] Create k_element_stream.py --- heaps/k_element_stream.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 heaps/k_element_stream.py 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] + + +