当前位置 : 主页 > 网络编程 > 其它编程 >

LeetCode215_数组中的第K个最大元素

来源:互联网 收集:自由互联 发布时间:2023-07-02
1.题目在未排序的数组中找到第k个最大的元素。请注意你需要找的是数组排序后的第k个最大的元素而不是第k个不同的元素。示例1:输入:[3,2,1,5 1. 题目 在未排序的数组中找到第 k 个最大
1.题目在未排序的数组中找到第k个最大的元素。请注意你需要找的是数组排序后的第k个最大的元素而不是第k个不同的元素。示例1:输入:[3,2,1,5

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]

上一篇:pythonyield用法_python中yield的用法
下一篇:没有了
网友评论