Skip to the editor
JSGroundwork
JSGroundwork handwritten · web dev
←Back to Heaps & priority queues

Ready to read

JSJavaScript⑂Git◎Interview prepΣDSA in JSSDSystem Design
More topics15›
</>HTML{ }CSS⚛ReactNNext.jsNeNest.jsTSTypeScriptNoNode.js🐳DockerDBSQL & Databases✓Testing🔒Web Security☁Cloud & DevOps◈GraphQL◆Redis☸Kubernetes
☰‹›
Description
All topics›JavaScript›Heaps & priority queues

Find Median from Data Stream

advancedlayer I3 · Heaps & priority queues5 tests

Design MedianFinder, which accepts numbers one at a time and can report the median of everything seen so far at any moment.

  • addNum(num) — take the next value from the stream
  • findMedian() — the middle value when the count is odd, or the average of the two middle values when it is even
  • Re-sorting on every query is too slow; aim for O(log n) per add and O(1) per query
  • A MinHeap class is already written for you in the starter — pass a comparator such as function (a, b) { return b - a; } to get a max-heap

Stuck?

All exercisesPlayground
1234567891011121314
loading the editor…

Nothing yet — hit Run and whatever you log shows up here.

Submit to see how you did.

⌘/Ctrl + Enter run⌘/Ctrl + S save⌘/Ctrl + / comment⌘/Ctrl + F find/replace⌘/Ctrl + D select next matchAlt + click multi-cursorTab indent · ⇧Tab outdentEsc leave fullscreen