快速排序的思想 ON平均时间复杂度
class Solution {
public:
int quicksort(vector<int>& nums, int k,int l,int r){
int ll=l,rr=r,val=nums[l];
while(ll<rr){
while(ll<rr && nums[rr]<=val) --rr;
if(ll<rr) nums[ll]=nums[rr],++ll;
while(ll<rr && nums[ll]>val) ++ll;
if(ll<rr) nums[rr]=nums[ll],--rr;
}
if(rr==k-1) return val;
else if(rr<k-1) return quicksort(nums,k,rr+1,r);
else return quicksort(nums,k,l,rr-1);
}
int findKthLargest(vector<int>& nums, int k) {
return quicksort(nums,k,0,nums.size()-1);
}
};