Advertisement
mfgnik

Untitled

Nov 5th, 2020
1,765
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.38 KB | None | 0 0
  1. def find_kth(numbers, L, R, k):
  2.     median = numbers[random.randrange(L, R)]
  3.     m = L
  4.     for i in range(L, R):
  5.         if numbers[i] < median:
  6.             numbers[i], numbers[m] = numbers[m], numbers[i]
  7.             m += 1
  8.     if k < m:
  9.         return find_kth(numbers, L, m, k)
  10.     elif k > m:
  11.         return find_kth(numbers, m, R, k)
  12.     else:
  13.         return numbers[k]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement