在无序的数组中找到第 k 大的元素, 也就是若长度为 n 的数组从小到大排列时, 下标为 n-k 的元素.
注意 Example2: 第 4 大的元素是 4, 也就是数组中出现的两个 5 分别是第 2 大和第 3 大的数字.
解法一: 直接将数组从大到小排序, 取出下标为 n-k 的元素.
- class Solution {
- public:
- int findKthLargest(vector<int>& nums, int k) {
- sort(nums.begin(), nums.end());
- return nums[nums.size() - k];
- }
- };
解法二:
来源: http://www.bubuko.com/infodetail-2888232.html