Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Reduce solution in Clear category for Expand Intervals by m.kleinkranenbarg
from typing import Iterable
from functools import reduce
def expand_intervals(items: Iterable) -> Iterable:
return sorted(list(reduce(lambda nrs, item: nrs | {nr for nr in range(item[0], item[1]+ 1)},
items, set())))
if __name__ == '__main__':
print("Example:")
print(list(expand_intervals([(1, 3), (5, 7)])))
# These "asserts" are used for self-checking and not for an auto-testing
assert list(expand_intervals([(1, 3), (5, 7)])) == [1, 2, 3, 5, 6, 7]
assert list(expand_intervals([(1, 3)])) == [1, 2, 3]
assert list(expand_intervals([])) == []
assert list(expand_intervals([(1, 2), (4, 4)])) == [1, 2, 4]
print("Coding complete? Click 'Check' to earn cool rewards!")
Feb. 12, 2023