[Python] 一文搞定合并区间及定会议室问题
相关leetcode题目
56 Merge intervals 合并区间
题目重述:把有overlap的intervals进行合并,输出结果
基本解决思路:
- 首先,对原有的intervals进行排序。Python的排序方法使用
lambda x:x[0]
进行。 - 遍历排序后的intervals。如果当前interval和之前的interval有overlap,进行合并;如果没有,把这个interval加入output
代码实现
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
out = []
for i in sorted(intervals, key=lambda i: i[0]):
# 如果当前interval和之前的interval有overlap,进行合并
if out and i[0] <= out[-1][1]: