0
点赞
收藏
分享

微信扫一扫

【LeetCode】56. 合并区间

1.​​题目​​

2.思想

  • step 1.对list中的内容进行排序
  • step 2.对排序后的内容进行查找重复区间
  • 适当的添加数据可以简化逻辑

3.代码

class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
# 为方便计算,在其后再添加一个
intervals.append([1e5,1e5])
a =sorted(intervals,key=lambda x:x[0])
res = []
start,end = a[0] # 得到起始终止位
# print(a)
for item in a[1::]:
sa,ea = item
if sa>= start and sa <= end: # 区间可以合并,同时更新start,end
start = min(start,sa)
end = max(end,ea)
else: # 如果不在其中
res.append([start,end]) # 先放值,再更新
start = sa
end = ea
# 再把最后的结果放入其中
# res.append([sa,ea])
# print(res)
return res


举报

相关推荐

0 条评论