67,550
社区成员




public class Sample {
public static void main(String[] args) {
try {
int[] a = {1,3,5,4,6,2};
int m = findKth(a, 3);
System.out.println(m);
} catch (Exception e) {
e.printStackTrace();
}
}
public static int findKth(int[] arr, int k){
if (k > arr.length) return 0;
int[] tmp = new int[k]; //定义一个k长的数组
tmp[0] = arr[0];
int j = 0;
for (int i=1; i<arr.length; i++) {
for (j=0; j<k; j++) {
if (arr[i] > tmp[j]) break; //如果arr[i]比tmp[0,1...k]大,则记录位置j
}
if (j < k) {//如果找到j,则插入元素
for (int m=k-1; m>j; m--) tmp[m] = tmp[m-1]; //j位置后的元素往后挪
tmp[j] = arr[i];
}
}
return tmp[k-1];
}
}