Collapse positive integer intervals def collapse_intervals(items): This func
Collapse positive integer intervals
def collapse_intervals(items):This function is the inverse of the previous problem of expanding positive integer intervals. Given a nonempty list of positive integer items guaranteed to be in sorted ascending order, create and return the unique description string where every maximal sublist of consecutive integers has been condensed to the notation first-last. Such encoding doesn’t actually save any characters when first and last differ by only one. However, it is usually more important for the encoding to be uniform than to be pretty. As a general principle, uniform and consistent encoding of data allows the processing of that data to also be uniform in the tools down the line.
If some maximal sublist consists of a single integer, it must be included in the result string all by itself without the minus sign separating it from the now redundant last number. Make sure that the string returned by your function does not contain any whitespace characters, and that it does not have a silly redundant comma hanging at the end.
items |
Expected result |
[1, 2, 4, 6, 7, 8, 9, 10, 12, 13]
|
'1-2,4,6-10,12-13'
|
[42] |
'42' |
[3, 5, 6, 7, 9, 11, 12, 13]
|
'3,5-7,9,11-13'
|
[] |
'' |
range(1, 1000001)
|
'1-1000000' |
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images