Find the kth largest element in an unsorted array. Note that it is the kth largest element in the sorted order, not the kth distinct element.
For example,
Given [3,2,1,5,6,4]
and k = 2, return 5.
Note:
You may assume k is always valid, 1 ≤ k ≤ array's length.
Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.
Runtime: 12ms
1 class Solution { 2 public: 3 int findKthLargest(vector<int>& nums, int k) { 4 int n = nums.size(); 5 if(n == 0 || k > n) return 0; 6 7 sort(nums.begin(), nums.end()); 8 return nums[n - k]; 9 } 10 };