import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a int整型一维数组 * @param n int整型 * @param K int整型 * @return int整型 */ public int findKth (int[] a, int n, int K) { // write code here int left = 0; int right = a.length - 1; quickSort(a, left, right); return a[a.length - K]; } private void quickSort(int[] a, int start, int end) { int left = start; int right = end; if (left >= right) { return; } int res = a[left]; while (left < right) { while (left < right && res <= a[right]) { right--; } swap( a, left, right); while (left < right && a[left] <= res) { left++; } swap( a, left, right); } quickSort( a, start, left - 1); quickSort(a, left + 1, end); } private void swap(int[] a, int left, int right) { int temp = a[left]; a[left] = a[right]; a[right] = temp; } }