描述
给出一组区间,请合并所有重叠的区间。
请保证合并后的区间按区间起点升序排列。
示例1
输入:
[[10,30],[20,60],[80,100],[150,180]]
复制返回值:
[[10,60],[80,100],[150,180]]
排序+双指针
对于两个区间[a,b] [c,d]
1、若 a < c < b,则这两个区间可合并,此时若b>d,则合并后的区间为[a,b],反之为[a,d]
2、若 c > b, 则合并不了。
总共只有以上这两种情况。
所以对于上面,我们可以将区间的起点做排序,即 a < c < ....,排成类似情况
用到Collections中的sort函数去排序,代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|