From 5f2c51e273e70644751562332ef2f44ac834e63a Mon Sep 17 00:00:00 2001 From: Deven <63876261+devenperez@users.noreply.github.com> Date: Wed, 26 Nov 2025 20:01:46 -0500 Subject: [PATCH] Time: N/A (0%), Space: N/A (0%) - LeetHub --- .../0215-kth-largest-element-in-an-array.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 0215-kth-largest-element-in-an-array/0215-kth-largest-element-in-an-array.py diff --git a/0215-kth-largest-element-in-an-array/0215-kth-largest-element-in-an-array.py b/0215-kth-largest-element-in-an-array/0215-kth-largest-element-in-an-array.py new file mode 100644 index 0000000..2504c7c --- /dev/null +++ b/0215-kth-largest-element-in-an-array/0215-kth-largest-element-in-an-array.py @@ -0,0 +1,18 @@ +import heapq + +class Solution: + def findKthLargest(self, nums: List[int], k: int) -> int: + heap = nums[:k] + + # Heapify (min) the first k elements + heapq.heapify(heap) + + # iterate over k+1...n - O(n) times + # - if larger than min in heap, replace min - O(log k) + # - else do nothing + for num in nums: + if num > heap[0]: + heapq.heapreplace(heap, num) + + # return min in heap + return heap[0] \ No newline at end of file