数据流的中位数
题目
中位数是有序整数列表中的中间值. 如果列表的大小是偶数, 则没有中间值, 中位数是两个中间值的平均 值.
- 例如
arr = [2,3,4]
的中位数是3
. - 例如
arr = [2,3]
的中位数是(2 + 3) / 2 = 2.5
.
实现 MedianFinder 类:
MedianFinder()
初始化MedianFinder
对象.void addNum(int num)
将数据流中的整数num
添加到数据结构中.double findMedian()
返回到目前为止所有元素的中位数. 与实际答案相差10⁻⁵
以内的答案将被接受.
提示:
-10⁵ <= num <= 10⁵
- 在调用
findMedian
之前, 数据结构中至少有一个元素 - 最多
5 * 10⁴
次调用addNum
和findMedian