作者:全拼wangziyiva_632 | 来源:互联网 | 2023-06-13 18:46
题意:数组求第k大。分析:快排classSolution{public:intPartition(vector<int>
题意:数组求第k大。
分析:快排
class Solution {
public:
int Partition(vector& nums, int l, int r){
int p = nums[l];
while(l = p) --r;
nums[l] = nums[r];
while(l & nums, int k, int l, int r){
int p = Partition(nums, l, r);
if(r - p + 1 == k) return nums[p];
else if(r - p + 1 > k) return QuickSort(nums, k, p + 1, r);
else return QuickSort(nums, k - (r - p + 1), l, p - 1);
}
int findKthLargest(vector& nums, int k) {
int len = nums.size();
return QuickSort(nums, k, 0, len - 1);
}
};