对数组[l,r]进行快排切分后得到基准值的索引p,由此有三个区间[l, p), p, [p+1, r)。[l,p)为小于等于p的值[p+1,r)为大于等于p的值。 若p==k-1,则说明在p之前的数就是前k大的数; 若p<k-1,则说明第k大的在p右边[p+1,r]; 若p>k-1,则答案在左边[l,p]。 import java.util.*; public class Solution { int partition(int [] input ,int left,int right){ int pivot = input[left]; ...