题解 | #寻找第K大#
寻找第K大
https://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a int整型vector * @param n int整型 * @param K int整型 * @return int整型 */ void quick_sort(vector<int>&nums,int l,int r){ if(l>=r) return; int x = nums[(l+r)>>1],i = l-1,j = r+1; while(i<j){ do i++;while(nums[i]<x); do j--;while(nums[j]>x); if(i<j)swap(nums[i],nums[j]); } quick_sort(nums, l, j); quick_sort(nums,j+1,r); } int findKth(vector<int>& a, int n, int K) { // write code here quick_sort(a,0,n-1); return a[n-K]; } };