gpt4 book ai didi

python - 在 Python 中合并重叠区间

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:46:48 28 4
gpt4 key购买 nike

<分区>

我正在尝试解决一个需要合并重叠间隔的问题。 The question is :

Given a collection of intervals, merge all overlapping intervals.

For example, Given [1,3],[2,6],[8,10],[15,18], return [1,6],[8,10],[15,18].

我尝试了我的解决方案:

# Definition for an interval.
# class Interval:
# def __init__(self, s=0, e=0):
# self.start = s
# self.end = e

class Solution:
def merge(self, intervals):
"""
:type intervals: List[Interval]
:rtype: List[Interval]
"""
start = sorted([x.start for x in intervals])
end = sorted([x.end for x in intervals])

merged = []
j = 0
new_start = 0

for i in range(len(start)):
if start[i]<end[j]:
continue
else:
j = j + 1
merged.append([start[new_start], end[j]])
new_start = i

return merged

但是它显然缺少最后一个间隔:

Input : [[1,3],[2,6],[8,10],[15,18]]

Answer :[[1,6],[8,10]]

Expected answer: [[1,6],[8,10],[15,18]]

不确定如何包括最后一个间隔,因为重叠只能在正向模式下检查。

如何修复我的算法以使其工作到最后一个时隙?

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com