给定间隔的集合,合并所有重叠的间隔。每个sublist都有两个数,并且左侧小于等于右侧。
Input:intervals = [[1,3],[2,6],[8,10],[15,18]]
Output:[[1,6],[8,10],[15,18]]
[1,3],[2,6]重叠,合并成[1,6]
Input:[[1,4],[4,5]]
Output:[[1,5]]
Method 1 对原list进行合并操作
1. 将list排序之后遍历每个list里面的子集
intervals=sorted(intervals)
2. 当前一个sublist的第二个数大于等于后一个sublist的第一个数,则选取两个子集中最小和最大的作为新的sublist
if intervals[i][0]<=intervals[i-1][1]:
intervals[i-1][0]=min(intervals[i-1][0],intervals[i][0])
intervals[i-1][1]=max(intervals[i-1][1],intervals[i][1])
3. 将之前的sublist删除掉
intervals.pop(i)
class Solution:
def merge(self, intervals: List[List[int]]) -> List[L