Data Stream as Disjoint Intervals Problem
Data Stream as Disjoint Intervals Problem — ExecCode Hard DSA Practice
Solve the Data Stream as Disjoint Intervals problem on ExecCode. Free online hard DSA practice in Design. Write and run code in Java, C++, Python — no signup required to run.
Problem description
Design a data structure that, given a data stream of non-negative integers arriving one at a time via addNum, can return the list of disjoint intervals that together cover every integer seen so far via getIntervals, sorted by start.
Examples
Input ops = ["addNum", "addNum", "getIntervals", "addNum", "getIntervals", "addNum", "getIntervals"], vals = [1, 3, 0, 7, 0, 2, 0]; Output [[[1, 1], [3, 3]], [[1, 1], [3, 3], [7, 7]], [[1, 3], [7, 7]]]. Input ops = ["addNum", "getIntervals"], vals = [5, 0]; Output [[[5, 5]]]. Input ops = ["addNum", "addNum", "addNum", "getIntervals"], vals = [1, 2, 3, 0]; Output [[[1, 3]]]
Constraints
0 ≤ val ≤ 10⁴ at most 3×10⁴ calls to addNum and getIntervals combined addNum is called at most 3×10³ times per test
Practice Data Stream as Disjoint Intervals free on ExecCode. Browse DSA problems, topic map, and placement guides.