给定一个数组,里面的每个元素都是一个区间,即两个数值组成的子数组,第一个数值代表区间低值,第二个数值代表区间高值。实现一个函数检查数组里面的每一个区间,如果两个区间有重合的部分则合并为一个区间,返回合并后的区间列表。
输入样例:
array = [[-2, 3], [10, 13], [2, 5], [7, 10], [15, 17]]
输出样例:
[[-2, 5], [7, 13], [15, 17]]
算法思路:
- 首先将数组按照区间的低值由小到大排序
- 从第二个区间开始,检查每一个区间的低值和它前面的区间的高值是否有重合
- 如果有重合则合并两个区间,如果没有重合则把该区间添加到返回列表中。