Problem: 56. 合并区间
思路 & 解题方法
排序过后遍历,合并即可。
复杂度
时间复杂度:
添加时间复杂度, 示例: O ( n ) O(n) O(n)
空间复杂度:
添加空间复杂度, 示例: O ( n ) O(n) O(n)
Code
class Solution:
def merge(self, intervals: List[List[int]]) -> List[List[int]]:
intervals.sort()
length = len(intervals)
note = [True] * length
for i in range(1, length):
if intervals[i - 1][1] >= intervals[i][0]:
note[i - 1] = False
intervals[i][0] = intervals[i - 1][0]
intervals[i][1] = max(intervals[i][1], intervals[i - 1][1])
ans = []
for i, l in enumerate(intervals):
if note[i]:
ans.append(l)
return ans