我有一组事件(开始日期、结束日期、位置)。这些活动在国内进行,我需要弄清楚结束后哪个活动应该去哪里。
示例:
- [1/7, 6/7, Toronto](7月1日开始,7月6日结束)
- [2/7, 4/7, 蒙特利尔]
- [4/7, 11/7, 渥太华]
- [17/7, 22/7, 温哥华]
..etc(数据集大约有 100 个条目,因此性能不是真正的问题)
在这个例子中,事件 1 可以移动并执行事件 4,因为它在 7 月 6 日结束,而事件 4 在 17 日开始。(假设当天过境)
所有找不到合适匹配的事件都将存储在报告中,供某人手动匹配。
此优化代码将在 javascript 中完成。
我的第一个想法是拥有 2 个具有相同数据的数组。第一个数组按开始日期排序,第二个数组按结束日期排序。然后浏览结束日期列表并尝试为其找到合适的开始日期,然后从数组中删除这些条目并继续这样,直到不再匹配为止。
有人对如何解决这个问题有更好的想法吗?如果您需要更多详细信息,请告诉我!