FindKthNum

Find the Kth smallest element in an array of n elements. To do this,
randomly select a pivot and partition the array by using quicksort
algorithm. Then based on the index of the pivot we'll know which half
the desired element is.
k = 5 (index = 4)
1 2 3 4 5 6
    ^   ^ 
    |   |
    |   k
  pivot
(We only need to sort the right part of the array)
This algorithm only takes O(n) since its running time is n + n/2 + n/4
... = O(n)