#leetcode簽到
Day 1
703. Kth Largest Element in a Stream
隔了一段時間重新開始寫
今天題目是要設計一個 KthLargest的class
有init 和add
init 就會給這次這個class會在add的同時回傳第K大的數字
一開始我用heap全存 然後在那邊彈出來又塞回去
想當然 test case 9 TLE
翻了一下discussion
恩 第K大 就是heap長度維持k (還是下面大老多
Day 1
703. Kth Largest Element in a Stream
隔了一段時間重新開始寫
今天題目是要設計一個 KthLargest的class
有init 和add
init 就會給這次這個class會在add的同時回傳第K大的數字
一開始我用heap全存 然後在那邊彈出來又塞回去
想當然 test case 9 TLE
翻了一下discussion
恩 第K大 就是heap長度維持k (還是下面大老多
class KthLargest:
def __init__(self, k: int, nums: List[int]):
self.h=[]
self.k=k
for i in nums:
heapq.heappush(self.h,i)
while k<len(self.h):
heapq.heappop(self.h)
def add(self, val: int) -> int:
heapq.heappush(self.h,val)
if len(self.h)>self.k:
heapq.heappop(self.h)
return self.h[0]