CodeACM
HOT 100 · 普通数组 · LC 56

合并区间: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]。

练习建议

先根据输入输出格式写出可运行程序,再用公开样例检查结果;遇到边界情况时,补充自测用例后提交。