Solution: Data Stream as Disjoint Intervals
Understand how to implement a Summary Ranges class that maintains disjoint intervals from a stream of numbers. Learn to handle merges, extensions, and duplicates efficiently, keeping intervals sorted and disjoint to provide a compact summary.
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...