数组中的第K个最大元素

数组中的第K个最大元素

//T1、数组中的第K个最大元素
// 给定整数数组 nums 和 整数k,请返回数组中第 k 个最大的元素。(你必须设计并实现时间复杂度为 O(n)的算法解决此问题)
//
//示例1:
// 输入: [3,2,1,5,6,4], k = 2
// 输出: 5

class Solution
{
public:
	int findKthLargest(vector<int>& nums,int k)
	{
		//建大堆 —— O(N)
		priority_queue<int> maxHeap(nums.begin(),nums.end());

		// O(logN*k)
		while (--k)
		{
			maxHeap.pop();
		}
		return maxHeap.top();
	}
};

你可能感兴趣的:(c++)