Solution: Data Stream as Disjoint Intervals
Explore how to implement the Summary Ranges class to maintain a compact, sorted collection of disjoint intervals from a stream of integers. Understand the process to add numbers, merge overlapping intervals, and retrieve these intervals efficiently, using a sorted map data structure. This lesson helps you apply the intervals pattern to solve streaming and merging interval problems common in coding interviews.
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:
value...