879193. Kth smallest element

Medium

Kth smallest element

Summary

Find the kth smallest element in an array. This problem is about manipulating and searching a collection of elements, specifically finding the kth smallest element in a given array. The key concepts involved are data structures and algorithms.

Detailed Explanation

The approach to solve this problem involves using a priority queue or heap data structure. We can use either a min-heap or max-heap depending on whether we want to find the kth largest or kth smallest element, respectively.

Here is a step-by-step breakdown of the solution:

  1. Initialize an empty priority queue.
  2. Iterate over the array and push each element into the priority queue.
  3. Extract the top (smallest) element from the priority queue k-1 times.
  4. The kth smallest element will be the next element extracted from the priority queue, which is at the top.

Time complexity: O(n log n) where n is the number of elements in the array. This is because each insertion and extraction operation takes O(log n) time, and we perform these operations n times.

Space complexity: O(n) for storing all elements in the priority queue.

Optimized Solutions

Java

View on GeeksforGeeks
import java.util.*;

public class KthSmallest {
    public static int findKthSmallest(int[] arr, int k) {
        PriorityQueue<Integer> minHeap = new PriorityQueue<>();
        
        for (int num : arr) {
            minHeap.offer(num);
        }
        
        for (int i = 0; i < k - 1; i++) {
            minHeap.poll();
        }
        
        return minHeap.peek();
    }
}

DevExCode

Master coding interviews with Leetcode, system design, TechBit, QuickLearn, DevTips, Tech Battles, and career services.

© 2026 DevExCode. All rights reserved.