python3 堆相关函数的使用
class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: ans = [] for i in range(k): heapq.heappush(ans, nums[i]) for i in range(k, len(nums)): if nums[i] > ans[0]: heapq.heappop(ans) heapq.heappush(ans, nums[i]) return ans[0]
import heapq
heapq.heapify(nums) # 对nums[] 进行建堆操作,是小顶堆
heapq.heappush(ans, val) 将val 加入到ans这个堆中,val 和 父节点比较,找到对应的位置
val = heapq.heappop(ans) 弹出栈顶,按理说 之后的栈顶仍会保留其余数值的最小值