用什么算法,最快算出两个时间段的重叠部分呢

2015-07-19 23:38:45 +08:00
 meteor2013
任意两个时间序列:

比如
A: 3,4,5, 7,8,910, 18,19
B: 4,5, 16,17,18,19,20,

输出
4,5 18,19
8706 次点击
所在节点    程序员
41 条回复
kzzhr
2015-08-03 17:57:52 +08:00
@meteor2013 所以我说hash嘛。区间数烧内存是小事,关键是需求没那么复杂,就比如现在让你找(1,n)的最大值,你也可以先排个序,问题是没有必要。奥对了,#33也给出了logn的解法,跟线段树时间一样,但是编码复杂度小很多。不过个人觉得还是hash优先。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/206826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX