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