class Solution { public: /** * @param n: An integer * @param nums: An array * @return: the Kth largest element */ int kthLargestElement(int n, vector<int> &nums) { // write your code here return qSort(nums, 0, nums.size()-1, nums.size()-n); }
int qSort(vector<int> &v, int start, int end, int k) { if (start == end) return v[end]; int i = start, j = end, temp = v[(start+end)/2]; while (i <= j) { while (i < end && v[i] < temp) i++; while (j > start && v[j] > temp) j--; if (i <= j) { swap(v[i], v[j]); i++; j--; } } if (j >= k && k >= start) return qSort(v, start, j, k); else if(i <= k && k <= end) return qSort(v, i, end, k);
return temp;
}
};
-------------end of file
thanks for reading-------------