class KthLargest:
def __init__(self, k: int, nums: List[int]):
self.k = k
self.queue = nums
heapq.heapify(self.queue)
def add(self, val: int) -> int:
heapq.heappush(self.queue,val)
while len(self.queue) > self.k:
heapq.heappop(self.queue)
# self.queue 从小到大排列,所以第一个元素就是第K大
# print(self.queue)
return self.queue[0]
# Your KthLargest object will be instantiated and called as such:
# obj = KthLargest(k, nums)
# param_1 = obj.add(val)
每日一道Leetcode - 703. 数据流中的第 K 大元素【小顶堆】
最新推荐文章于 2024-10-06 13:05:10 发布