LeetCode:215. Kth Largest Element in an Array
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.
Example 1:
Input: [3,2,1,5,6,4] and k = 2
Output: 5
Example 2:
Input: [3,2,3,1,2,4,5,5,6] and k = 4
Output: 4
思路一:排序
先排序,再找出第k大的数。
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
res = sorted(nums)[::-1]
return res[k-1]
思路二:大顶堆
直接使用大顶堆找到topK的值,取最后一个就是第k大的值。
class Solution:
def findKthLargest(self, nums: List[int], k: int) -> int:
topK = heapq.nlargest(k, nums)
return topK[-1]
THE END.