**题目:**在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。
**解法一:**快排,时间复杂度爆表
//快排
class Solution {
public:
//逆序
void quicksort(vector<int>& nums,int low,int high,int k){
if(low<high){
int a=nums[low];
int i=low,j=high;
while(i<j){
while(i<j&&a>nums[j]){
--j;
}
if(i<j){
nums[i]=nums[j];
++i;
}
while(i<j&&a<=nums[i]){
++i;
}
if(i<j){
nums[j]=nums[i];
j--;
}
}
nums[i]=a;
if(i!=k-1){
quicksort(nums,low,i-1,k);
quicksort(nums,i+1,high,k);
}
}
}
int findKthLargest(vector<int>& nums, int k) {
quicksort(nums,0,nums.size()-1,k);
return nums[k-1];
}
};