703800. K Smallests in the Original Order

Easy

K Smallests in the Original Order

Summary

This problem involves finding the k smallest elements from a given array and printing them in their original order. The key concept involved is arrays, which require a different approach compared to other data structures like linked lists or trees.

Detailed Explanation

The problem can be approached by first sorting the array and then iterating through it until we have found the desired number of smallest elements. This will ensure that we get the k smallest elements in their original order.

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

  1. Sort the input array in ascending order.
  2. Initialize an empty list or array to store the result.
  3. Iterate through the sorted array and add each element to the result list until you have added k elements.
  4. Print the result list.

This approach has a time complexity of O(n log n) due to the sorting step, where n is the number of elements in the input array. The space complexity is O(k), as we are storing at most k elements in our result list.

Here's an example ASCII art diagram representing the process:

Original Array: [5, 3, 1, 2, 4]
Sorted Array: [1, 2, 3, 4, 5]

Result List:
[1] -> Add to result
[2] -> Add to result
[3] -> Add to result
[4] -> Add to result

Optimized Solutions

Java

View on GeeksforGeeks
import java.util.Arrays;

public class KSmallest {
    public static void main(String[] args) {
        int[] array = {5, 3, 1, 2, 4};
        int k = 3;
        
        // Sort the array
        Arrays.sort(array);
        
        // Print the k smallest elements in their original order
        for (int i = 0; i < k; i++) {
            System.out.println(array[i]);
        }
    }
}

DevExCode

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

© 2026 DevExCode. All rights reserved.