Be the first user to complete this post

Add to List 
86. Find Kth Smallest or Largest element in an Array
Objective: Find Kth Smallest or Largest element in an Array
Example:
int[] arrA = { 2, 3, 11, 16, 27, 4, 15, 9, 8 }; Output: The 4th smallest element is : 8
Approach:
Naive Approach: Use Sorting
Sort the array and return the kth element. Time Complexity  O(nlogn).
Better Approach: Use Quick Sort Technique
Here we are finding the kth smallest element in the array. The same approach you can apply to find the kth largest element.
 In this technique, we select a pivot element and after one round of operation, the pivot element takes its correct place in the array.
 Once that is done we check if the pivot element is the kth element in the array, if yes then return it.
 But if the pivot element is less than the kth element, that means that the kth element is on the right side of the pivot. So make a recursive call from pivot+1 to end.
 Similarly, if the pivot element is greater than the kth element, that means that the kth element is on the left side of the pivot. So make a recursive call from start to pivot1.
Average Time Complexity: O(n)
NOTE: Instead of printing the kth element, you can print all elements from index 0 to k and this will be the solution of the problem "Print First K smallest or largest elements in an array".
Output:
The 4th smallest element is : 8