合并区间:ACM 模式刷题
按标准输入读取测试数据,输出结果后可在 CodeACM 在线运行和提交。
题目描述
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。
输入格式
第一行输入整数 n。
接下来 n 行,每行输入两个整数 left 和 right,表示闭区间 [left, right]。
输出格式
按左端点升序输出合并后的区间,每行输出一个区间的两个端点。
数据范围
- 1 ≤ n ≤ 10⁴
- 0 ≤ left ≤ right ≤ 10⁴
公开样例
样例 1
输入
4 1 3 2 6 8 10 15 18
输出
1 6 8 10 15 18
区间 [1,3] 和 [2,6] 重叠,合并为 [1,6]。
样例 2
输入
2 1 4 4 5
输出
1 5
区间 [1,4] 和 [4,5] 在端点 4 处可视为重叠区间,因此合并为 [1,5]。
练习建议
先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。