56. Merge Intervals
题目
Given a collection of intervals, merge all overlapping intervals.
For example,
Given [1,3],[2,6],[8,10],[15,18]
,
return [1,6],[8,10],[15,18]
.
大意
答案
1 | /** |
思路
先将所有的片段按照start的大小进行排序,考虑 13 24 56 这种情况,先将第一个片段放入result,然后比较第二个片段的开始大小和第一个片段的结束大小的关系,若第一个结束的大小小于第二个开始的大小,直接将第二个片段放入result即可。若第一个结束的大小大于第二个结束的大小,则去求应该把哪个的结束作为这个片段的结束,就像 13 24 比时,比较3 和4 哪个作为结束,所以把上一个片段退出来,重新生成一个新的片段,然后加入result中。
Author: corn1ng
Link: https://corn1ng.github.io/2017/11/16/算法/leetcode56/
License: 知识共享署名-非商业性使用 4.0 国际许可协议