思路:快排变种
public class ArrKBigger {
public static void main(String[] args) {
int arr[] = {9,8,7,6,5,4,3,2,1,0};
int k = 6;
System.out.println(quickSort(arr, 0, arr.length-1, k));
}
public static int quickSort(int[] arr, int start, int end, int k) {
if (start > end) {
return -1;
}
int i = start;
int j = end;
int base = arr[start];
while (i < j) {
while (i < j && arr[j] >= base) {
j--;
}
arr[i] = arr[j];
while (i < j && arr[i] <= base) {
i++;
}
arr[j] = arr[i];
}
arr[i] = base;
if (i == arr.length - k) {
return arr[i];
} else if (i < arr.length - k) {
return quickSort(arr, i + 1, end, k);
} else {
return quickSort(arr, start, i - 1, k);
}
}
}