题目浅析

  • 想查看原题可以点击题目链接

  • 简单地说,就是给两个一维数组,一个代表已有的数据,另一个代表一个个输入的数据流,求每次数据流输入时当前数据第 K 大的值。

思路分享

代码解答(强烈建议自行解答后再看)

  • 参考题解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class KthLargest:

def __init__(self, k: int, nums: List[int]):
self.heap = nums
heapq.heapify(self.heap)
self.k = k

def add(self, val: int) -> int:
heappush(self.heap, val)
while(len(self.heap) > self.k):
heapq.heappop(self.heap)
return self.heap[0]


# Your KthLargest object will be instantiated and called as such:
# obj = KthLargest(k, nums)
# param_1 = obj.add(val)