我需要构建一个算法来合并来自多个数组的时间间隔(为了简化,只考虑一个日期),同时保留输入的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]},
]}发布于 2021-08-03 21:30:58
要做到这一点,一种方法是创建一个按发生时间顺序排序的“事件”序列。"event“既可以是id范围的开始时间,也可以是id范围的结束时间。一旦您有了经过排序的事件列表,您就可以按顺序一次处理一个事件,以生成所需的输出。
https://stackoverflow.com/questions/68637906
复制相似问题