Problem 60261. Interval Compression
Given a set of integers, the task is to create a list of closed intervals where each interval includes its endpoints. For example, the interval 1 to 5 includes each value 'x' that satisfies the condition 1 ≤ x ≤ 5.
Intervals can contain consecutive values if the difference between a value and the next smaller value in the set equals one. If this condition is not met, a new interval begins. The start value of an interval is excluded from this rule. A single value that does not fit into an existing interval becomes the start and endpoint of a new interval.
Input: An array of integers.
Output: A matrix with two columns; each row containing two integers indicating the endpoints of the interval. The matrix should be sorted by the start point of each interval.
Examples:
create_intervals([1, 2, 3, 4, 5, 7, 8, 12]) returns [ 1, 5; 7, 8 ; 12, 12] create_intervals([1, 2, 3, 6, 7, 8, 4, 5]) returns [1, 8]
Solution Stats
Solution Comments
Show commentsProblem Recent Solvers10
Suggested Problems
-
3036 Solvers
-
Given an unsigned integer x, find the largest y by rearranging the bits in x
1987 Solvers
-
Back to basics 22 - Rotate a matrix
932 Solvers
-
Number of 1s in a binary string
10952 Solvers
-
The sum of individual numbers...
83 Solvers
More from this Author53
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!