有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。
给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。
测试样例:
[1,3,5,2,2],5,3
http://blog.youkuaiyun.com/hymanxq/article/details/51026818
public class 寻找第K大的数 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = { , , , , };
System.out.println(findKth(a, a.length, ));
/*
* qsort(a, 0, a.length-1); for(int i:a){ System.out.print(i+" "); }
*/
}
public static int findKth(int[] a, int n, int K) {
// write code here
return qs(a, , a.length - , a.length - K); // 第K大数 的下标
}
static void qsort(int[] a, int left, int right) {
if (left < right) {
int p = partition(a, left, right);
qsort(a, left, p - );
qsort(a, p