题解 | #数据流中的中位数#
数据流中的中位数
https://www.nowcoder.com/practice/9be0172896bd43948f8a32fb954e1be1
# -*- coding:utf-8 -*-
import heapq
class Solution:
def __init__(self) -> None:
self.minheap = []
self.maxheap = []
def Insert(self, num):
if len(self.minheap) == len(self.maxheap):
heapq.heappush(self.minheap, -heapq.heappushpop(self.maxheap, -num))
else:
heapq.heappush(self.maxheap, -heapq.heappushpop(self.minheap, num))
def GetMedian(self):
# write code here
if len(self.minheap) == len(self.maxheap):
return (self.minheap[0] - self.maxheap[0])/2.0
else:
return self.minheap[0]
查看4道真题和解析