Kth Largest Element in an Array – Solution & Complexity

1. Understand the Goal

  • Identify the required output and the state that changes.
  • Use the examples to rule out tempting but incorrect interpretations.

2. Choose the Core Pattern

  • This problem is best exposed by Maintain a min-heap containing only the k largest values.
  • Maintain only the state needed for the next operation.

3. Build the Algorithm

  • Process each state once when possible.
  • Record state before scheduling dependent work to avoid duplicates.

4. Check Edge Cases

  • Verify the smallest input, impossible cases, and repeated values where allowed.
  • Keep output ordering deterministic.

5. Final Solution and Complexity

  • Time complexity is O(n log k).
  • Space complexity is O(k).
def find_kth_largest(nums: list[int], k: int) -> int:
    import heapq
    heap = []
    for number in nums:
        heapq.heappush(heap, number)
        if len(heap) > k: heapq.heappop(heap)
    return heap[0]

FAQ