I recently came across an interesting question : “Find Median from Data Stream”
The problem allows one to think of multiple concepts:
 Run-time complexity of adding in number to the data structure v/s finding median from the data structure
 can we leverage some form of counting sort algo
 what kinds of data structures might be useful useful – heaps, segment trees, AVL etc etc
 I sensed some parallels with the range-minimum query problem as well.
The run-times are not great, but then I was not using any libraries.I wonder what optimizations other folks are doing to improve runtime.