题目描述:
解决方案1:找规律法
题目描述的是,要找到数组中第K大的数,即该数组中,比找到的数要大的有K-1个,如果将数组按照由大到小的降序进行排列的话,只要输出第K个数就可以直接获得想要得到的数字。
解决代码如下:
class Solution(object):
def findKthLargest(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: int
"""
nums = sorted(nums, reverse=True)
return nums[k-1]
提交结果:
解决方案2:堆排序
采用堆排序方法中的大顶堆方法,找到第K大的元素。由于大顶堆是一棵父结点都大于叶子结点的二叉树,所以,只要保持大顶堆的元素小于等于K,那么大顶堆就保留了前K个最大的元素了。即堆顶元素就是想要的目标元素。
代码如下:
class Solution:
def findKthLargest(s