1.题目在未排序的数组中找到第k个最大的元素。请注意你需要找的是数组排序后的第k个最大的元素而不是第k个不同的元素。示例1:输入:[3,2,1,5 1. 题目 在未排序的数组中找到第 k 个最大
1. 题目
在未排序的数组中找到第 k 个最大的元素。请注意你需要找的是数组排序后的第 k 个最大的元素而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k 4输出: 4说明:你可以假设 k 总是有效的且 1 ≤ k ≤ 数组的长度。
2. 题解
from typing import Listimport heapqclass Solution:# 方法1def findKthLargest(self, nums: List[int], k: int) -> int:minheapq []heapq.heapify(minheapq) # 堆化操作for n in nums:heapq.heappush(minheapq, n)while len(minheapq) > k:heapq.heappop(minheapq)return minheapq[0]# 方法2def findKthLargest(self, nums: List[int], k: int) -> int:nums.sort()return nums[len(nums) - k]