# -*- coding:utf-8 -*-
class Finder:
def findKth(self, a, n, K):
# write code here
res = None
def dfs(start, end):
s = start; e = end
p = a[start]
while s < e:
while s < e and a[e] <= p:
e -= 1
a[s] = a[e]
while s < e and a[s] >= p:
s += 1
a[e] = a[s]
if s == K-1:
nonlocal res
res = p # 不能是 res = a[K-1], a[s] 是要被p 替换的
return
elif K-1 < s:
dfs(start,s-1)
else:
dfs(s+1, end)
dfs(0,len(a)-1)
return res