【hot100篇-python刷题记录】【数据流的中位数】
·
R7-堆篇

from heapq import *
class MedianFinder:
def __init__(self):
#建立小根堆,保存大的一半
self.A=[]
#大根堆,B中的存储都是负数形式
self.B=[]
def addNum(self, num: int) -> None:
if len(self.A)!=len(self.B):
heappush(self.B,-heappushpop(self.A,num))
else:
heappush(self.A,-heappushpop(self.B,-num))
def findMedian(self) -> float:
return self.A[0] if len(self.A)!=len(self.B) else(self.A[0]-self.B[0])/2.0
# Your MedianFinder object will be instantiated and called as such:
# obj = MedianFinder()
# obj.addNum(num)
# param_2 = obj.findMedian()

精简的代码总是难以琢磨。。。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)