算法问题:找到下一个非重叠间隔

时间:2018-10-19 21:03:13

标签: algorithm intervals

假设我们有一个间隔列表,该间隔按起点升序排列。我们希望算法为每个间隔找到下一个最小起点的非重叠间隔。

例如,对于第0个间隔(1、5),我们有间隔列表为{(1,5),(2,4),(4、6),(6、10)}。重叠间隔是第三个间隔(6,10),对于第一个(2,4),它应该是第二个(4,6)。因此,所需的输出为[3,2,3,-1]。

我可以提出一种蛮力O(N ^ 2)算法,该算法将对每个间隔进行线性扫描。但是我认为可能存在O(N)算法,有人知道有没有更好的解决方案?

0 个答案:

没有答案