Solution: Data Stream as Disjoint Intervals
Understand how to summarize a stream of integers as disjoint intervals using the intervals design pattern. Learn to implement a Summary Ranges class that merges and updates intervals efficiently during a data stream. This lesson helps you grasp how to manage and maintain sorted, non-overlapping intervals, optimizing for common coding interview problems related to interval merging and insertion.
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:
...