首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

删除重叠的区间&划分为不重叠的区间Python

删除重叠的区间是指在给定一组区间的情况下,删除其中重叠的区间,使得剩下的区间不再重叠。下面是一个Python实现的示例代码:

代码语言:txt
复制
def merge_intervals(intervals):
    # 按照区间的起始位置进行排序
    intervals.sort(key=lambda x: x[0])
    
    merged = []
    for interval in intervals:
        # 如果当前区间与已合并的区间列表中的最后一个区间重叠,则合并它们
        if merged and interval[0] <= merged[-1][1]:
            merged[-1][1] = max(merged[-1][1], interval[1])
        else:
            # 否则,将当前区间添加到已合并的区间列表中
            merged.append(interval)
    
    return merged

# 示例用法
intervals = [[1, 3], [2, 6], [8, 10], [15, 18]]
result = merge_intervals(intervals)
print(result)

上述代码中,merge_intervals函数接受一个二维列表intervals作为输入,其中每个子列表表示一个区间。函数首先按照区间的起始位置进行排序,然后遍历每个区间,将其与已合并的区间列表中的最后一个区间进行比较。如果当前区间与最后一个区间重叠,则更新最后一个区间的结束位置;否则,将当前区间添加到已合并的区间列表中。最后,返回合并后的区间列表。

这个问题的应用场景包括日程安排、时间段管理等。例如,给定一组会议的起始时间和结束时间,我们可以使用上述算法删除重叠的会议时间段,以便更好地安排日程。

腾讯云提供了多个与云计算相关的产品,其中包括云服务器、云数据库、云存储等。具体推荐的产品取决于具体的需求和场景。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云产品的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券