文巾解题 56. 合并区间
Posted UQI-LIUWJ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文巾解题 56. 合并区间相关的知识,希望对你有一定的参考价值。
1 题目描述
2 解题思路
先将intervals按照开始的时间从小到大排序,然后我们建立一个记录结果的数组,和另一个表示当前区间的临时区间,然后对intervals从前向后遍历。
如果当前遍历的interval的开始点是在临时区间之内的,那么我们就考虑合并。否则,将临时区间写入记录结果的数组中,然后将当前区间赋值给临时区间
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
if(len(intervals)<=1):
return(intervals)
f=lambda x:x[0]
intervals.sort(key=f)
ret=[]
tmp=intervals[0]
for i in intervals[1:]:
if(i[0]<=tmp[-1]):
tmp[-1]=max(i[1],tmp[-1])
else:
ret.append(tmp)
tmp=i
if(tmp!=None):
ret.append(tmp)
return(ret)
以上是关于文巾解题 56. 合并区间的主要内容,如果未能解决你的问题,请参考以下文章