间隔(interval)
文章平均质量分 78
beiyetengqing
http://blog.csdn.net/beiyeqingteng 的镜像站
展开
-
合并间隔
问题: 给一组间隔,把这些间隔合并,使得间隔之间不会有重合。比如:[1, 5], [3, 8], [10, 20], [7, 9] 合并后变成 [1, 9], [10, 20]。 分析: 首先,因为我们需要判断是否两个间隔是否重合,这样才能合并,检查两个间隔是否重合的代码是: /* * s1: start point of interval 1 * e1: end原创 2012-06-19 07:59:59 · 925 阅读 · 0 评论 -
找出穿过间隔最多的点
问题: 给一组间隔,找出一个点,使得穿过该点的间隔数最大, 时间复杂度不能超过 O(N lg N)。比如有一组间隔为[1, 5] [ 3, 7] [2, 4] [8, 9], 那么对于点 3.5, 有3个间隔都包含这个点,但是对于点 8.5,只有一个间隔包含该点。所以,最后答案是 3.5. (当然,3.6, 或者 3.7 都可以)。 分析: 对于一组间隔,我们把它所有间隔的起始值原创 2012-06-20 13:30:26 · 609 阅读 · 0 评论 -
在给定的一组间隔里插入一个新的间隔
问题: 给定多个不重合的间隔(interval),比如 [3, 8] [ 12, 17] [22, 29], 然后插入一个新的间隔, 比如 [ 5, 15], 求最后不重合的间隔。比如,起初的不重合间隔变成 [3, 17] [22, 29]. 分析: 首先,我们要知道怎么确定两个间隔是重合的。比如[1, 5] [3, 7] 是重合的,[1, 5] [6, 7] 是不重合的。那么,原创 2012-06-17 08:02:59 · 676 阅读 · 0 评论