给定间隔列表,对其进行合并,并减少重叠。这意味着减少了重叠部分。([a, b] U [c, d] = [a, d]
如果b > c
)假定所有间隔中的所有a <b [a, b]
。根据输入间隔列表->输出间隔列表来实现。最短的代码获胜。您不能使用任何现有的库。
说明:
- 打开和关闭间隔不区分。
- 实数的间隔,而不是整数。(
[2, 3], [4, 5] -> [2, 3], [4, 5]
) - 无需排序输出间隔
- 输入无关紧要的顺序
- 非法输入仅
[a, b]
在处b >= a
,与输入间隔的顺序和输入间隔的数量无关。 - 您无需在未定义的行为上显示错误消息
示例(带数字线)
[2, 4], [7, 9] --> [2, 4], [7, 9]
234
789
-> 234 789
[1, 5], [2, 10] --> [1, 10] (overlapping [2, 5] reduced)
12345
234567890
-> 1234567890
[2, 4], [3, 6], [8, 9] -> [2, 6], [8, 9]
234
3456
89
-> 23456 89
[4, 2], [2, 2] -> (undefined behavior: against the assumption)