Solution: Data Stream as Disjoint Intervals
Explore how to implement the Summary Ranges class to manage a stream of integers as disjoint intervals. Learn to merge and update intervals dynamically, ensuring a compact and sorted summary. Understand the use of sorted maps and interval boundaries to efficiently add numbers and retrieve merged intervals.
We'll cover the following...
Statement
You are given a stream of non-negative integers
Your task is to implement the Summary Ranges class, where:
Constructor: Initializes the Summary Ranges object with an empty stream.
Add Num(int value): Adds the integer
valueto the stream.Get Intervals(): Returns the current summary of numbers as a list of disjoint intervals
[start_i, end_i], sorted bystart_i.
Note: Each number belongs to exactly one interval. Intervals must merge whenever new numbers connect or extend existing ones, and duplicate insertions should not affect the summary.
Constraints:
...