在 Python 中查找相交间隔
pythonserver side programmingprogramming更新于 2025/12/26 15:40:17
假设我们有一个间隔列表,其中每个间隔都像 [start, end],这表示间隔的开始和结束时间(含),我们必须找到它们的交点,即位于所有给定间隔内的间隔。
因此,如果输入像 [[10, 110],[20, 60],[25, 75]],则输出将是 [25, 60]
为了解决这个问题,我们将遵循以下步骤 −
- start, end := 从间隔列表中删除最后一个元素后的间隔
- 当间隔不为空时,执行
- start_temp, end_temp := 从间隔列表中删除最后一个元素后的间隔
- start := 起始点的最大值,start_temp
- 结束 := 结束点的最小值,end_temp
- 返回一个区间 [start, end]
让我们看看下面的实现以便更好地理解 −
示例
class Solution: def solve(self, intervals): start, end = intervals.pop() while intervals: start_temp, end_temp = intervals.pop() start = max(start, start_temp) end = min(end, end_temp) return [start, end] ob = Solution() intervals = [[10, 110],[20, 60],[25, 75]] print(ob.solve(intervals))
输入
[[10, 110],[20, 60],[25, 75]]
输出
[25, 60]
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

