This question evaluates proficiency in streaming data aggregation, dynamic order-statistics maintenance, and algorithmic complexity analysis for insertion and query operations.
Design a data structure that supports:
addNum(int x)
: Add an integer from a stream.
findMedian()
: Return the median of all inserted numbers so far.
Median definition:
O(log n)
per insertion and
O(1)
(or
O(log n)
) per median query.