,可以通过以下步骤实现:
下面是一个示例代码,演示了如何将两组区间组合成一组区间:
def merge_intervals(intervals):
intervals.sort(key=lambda x: x[0]) # 按照起始点升序排序
merged = [] # 存储合并后的区间结果
for interval in intervals:
if not merged or interval[0] > merged[-1][1]:
# 当前区间与结果列表中的区间没有重叠
merged.append(interval)
else:
# 当前区间与结果列表中的区间存在重叠,进行合并
merged[-1][1] = max(merged[-1][1], interval[1])
return merged
# 示例输入
intervals1 = [[1, 3], [2, 6], [8, 10], [15, 18]]
intervals2 = [[2, 5], [7, 9], [11, 13], [14, 17]]
intervals = intervals1 + intervals2
# 合并区间
merged_intervals = merge_intervals(intervals)
# 输出合并后的区间
for interval in merged_intervals:
print(interval)
输出结果为:
[1, 6]
[7, 10]
[11, 13]
[14, 18]
这个示例中,将两组区间intervals1
和intervals2
合并成了一组区间,并按照起始点的升序排列。最终得到的合并后的区间为[[1, 6], [7, 10], [11, 13], [14, 18]]
。
领取专属 10元无门槛券
手把手带您无忧上云