709902. Find k-th smallest element in given n ranges

Medium

Here is the detailed Markdown blog post for the problem:

Find k-th smallest element in given n ranges

Summary

Given n number of ranges, find the k-th smallest element. This problem involves searching and sorting algorithms to solve.

Detailed Explanation

The problem can be solved by first merging all the ranges into a single array. Then, sort this array in ascending order. After that, iterate through the sorted array until we reach the k-th element, which is our desired result.

Here's a step-by-step breakdown of the solution:

  1. Create an empty array to store all the ranges.
  2. Iterate through each range and add its elements to the array.
  3. Sort the array in ascending order.
  4. Initialize a counter variable to 0.
  5. Iterate through the sorted array until we reach the k-th element.
  6. Return the k-th element as our result.

Time complexity: O(n log n) due to sorting Space complexity: O(n) for storing all the ranges

Optimized Solutions

Java

View on GeeksforGeeks
import java.util.Arrays;
import java.util.Comparator;

public class FindKthSmallest {
    public static int findKthSmallest(int[][] ranges, int k) {
        // Create an empty array to store all the ranges.
        int[] arr = new int[ranges.length * (ranges[0].length + 1)];
        int index = 0;

        // Iterate through each range and add its elements to the array.
        for (int i = 0; i < ranges.length; i++) {
            for (int j = 0; j < ranges[i].length; j++) {
                arr[index++] = ranges[i][j];
            }
        }

        // Sort the array in ascending order.
        Arrays.sort(arr);

        // Initialize a counter variable to 0.
        int count = 0;

        // Iterate through the sorted array until we reach the k-th element.
        for (int i = 0; i < arr.length; i++) {
            if (count == k - 1) {
                return arr[i];
            }
            count++;
        }

        // Return the k-th element as our result.
        return arr[arr.length - 1];
    }
}

DevExCode

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

© 2026 DevExCode. All rights reserved.