Given an integer array nums
and an integer k
, return the kth
largest element in the array.
Note that it is the kth
largest element in the sorted order, not the kth
distinct element.
Example 1:
Input: nums = [3,2,1,5,6,4], k = 2 Output: 5
Example 2:
Input: nums = [3,2,3,1,2,4,5,5,6], k = 4 Output: 4
Constraints:
1 <= k <= nums.length <= 104
-104 <= nums[i] <= 104
Solution: Quick selection
Time complexity: O(n)
Space complexity: O(1)
C++
1 2 3 4 5 6 7 8 |
// Author: Huahua class Solution { public: int findKthLargest(vector<int>& nums, int k) { nth_element(nums.begin(), nums.begin() + k - 1, nums.end(), std::greater<int>()); return nums[k - 1]; } }; |
请尊重作者的劳动成果,转载请注明出处!花花保留对文章/视频的所有权利。
如果您喜欢这篇文章/视频,欢迎您捐赠花花。
If you like my articles / videos, donations are welcome.
Be First to Comment