【问题标题】:Algorithm to merge time intervals while keeping input id information在保留输入 id 信息的同时合并时间间隔的算法
【发布时间】:2021-08-03 14:26:49
【问题描述】:

我需要构建一种算法来合并来自多个数组的时间间隔(为了简化,只考虑一个日期),同时保留输入 id 信息。有哪些方法可以做到?

输入:

{"input_id": "1", "ranges": [{"from": 07:00, "to": 13:00}, {"from": 15:00, "to": 15:30}], 
{"input_id": "2", "ranges": [{"from": 08:00, "to": 14:30}]}

预期输出:

{"ranges":[
{"from": 07:00, "to": 08:00, "inputs": [1]},
{"from": 08:00, "to": 13:00, "inputs": [1,2]},
{"from": 13:00, "to": 14:30, "inputs": [2]},
{"from": 15:00, "to": 15:30, "inputs": [1]},
]}

【问题讨论】:

标签: algorithm merge


【解决方案1】:

一种方法是创建一系列“事件”,按发生时间排序。 “事件”要么是 id 范围开始的时间,要么是 id 范围结束的时间。获得排序的事件列表后,您可以一次一个地处理事件以生成所需的输出。

【讨论】:

    猜你喜欢
    • 2016-12-27
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    相关资源
    最近更新 更多