对数组[l, r]一次快排partition过程可得到,[l, p), p, [p+1, r)三个区间,[l,p)为小于等于p的值[p+1,r)为大于等于p的值。然后再判断p,利用二分法 如果[l,p), p,也就是p+1个元素(因为下标从0开始),如果p+1 == k, 找到答案2。 如果p+1 < k, 说明答案在[p+1, r)区间内,3, 如果p+1 > k , 说明答案在[l, p)内代码 class Solution { public: int partition(vector<int> &input, int l,int r) { int...