我正在处理日历组件,并且需要提出一种算法,以便在将新时间表嵌入日历中时推回现有时间表。
例如,在下面的示例中,
输入:[[1, 4],[4, 7],[10, 14]] (list of [start, end])
和[3, 8] (time to be embedded)
输出:[[1, 3] (A), [3, 8], [8, 9] (A), [9, 12] (B), [15, 19] (C)]
如果我分别调用输入列表A,B,C中的元素,则由于嵌入时间是在A的持续时间内嵌入的,所以A被分为两部分。由于嵌入时间。
我的想法是遍历输入的时间表列表,并查看嵌入时间的开始时间是否小于或大于任何时间表的开始时间,并从中继续前进,但是无法提出一种明智的算法来拆分并推迟时间表。
语言无关紧要,但是我更喜欢python或JavaScript。