解题思路
万事不决先排序,排序后每个区间是开始下标非降序
然后遍历看是不是与前一项交叉,交叉时合并
56. 合并区间
代码
class Solution(object):
def merge(self, intervals):
"""
:type intervals: List[List[int]]
:rtype: List[List[int]]
"""
intervals.sort()
ans = []
for s, e in intervals:
if ans and s <= ans[-1][1]:
ans[-1][1] = max(ans[-1][1], e)
else:
ans.append([s, e])
return ans
万事不决先排序