拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Hot-295 数据流的中位数

解法使用 大根堆 小根堆 同时保证两者数量差1import heapq class MedianFinder: def __init__(self): # 大根堆 self.left [] # 小根堆 self.right [] def addNum(self, num: int) - None: heapq.heappush(self.left,-num) # 把left的最大值给到right heapq.heappush(self.right,-heapq.heappop(self.left)) # 如果right的数量过多平衡 if len(self.right) len(self.left): heapq.heappush(self.left,-heapq.heappop(self.right)) def findMedian(self) - float: if len(self.right) len(self.left): return (self.right[0] - self.left[0]) / 2 else: return -self.left[0]
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门