gpt4 book ai didi

python - 查找一组间隔中的重叠间隔

转载 作者:行者123 更新时间:2023-12-02 01:24:39 26 4
gpt4 key购买 nike

我们有一个登录系统,可以跟踪人们的连接时间。我想编写一个代码来查找同时在线的人。请看这个例子:

P1: [1,7]
P2: [2,5]
P3: [3,4]
P4: [6,8]

将这些视为人物 1 到人物 4 的间隔。我希望算法的输出如下所示:

P1, P2 : [2, 3]
P1, P2, P3 : [3, 4]
P1, P2 : [4, 5]
P1, P4 : [6,7]

我尝试用两个 for 循环来解决这个问题,以便我们得到一个时间间隔重叠的人的列表,但问题是处理多个人的时间间隔。例如,在上面的例子中,[3,4]不必出现在第三行的[4, 5]中,因为它是按三人间隔计算的。

最佳答案

1:+P17:-P1 等形式对所有区间边界进行编码。然后按时间顺序对所有边界进行排序,并按时间增加进行扫描。还可以通过“执行”插入或删除操作来更新在场人员的列表。

{} 1:+P1 {P1} 2:+P2 {P1, P2} 3:+P3 {P1, P2, P3} 4:-P3 {P1, P2} 5:-P2 {P1} ...

每个配置都发生在一个时间限制和下一个时间限制之间。

某些配置可能会随着时间的推移而重复,但您没有指定如何处理它们。通过上述方法,它们将被单独列出。

关于python - 查找一组间隔中的重叠间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75071878/

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