段树:[a,b] 找到包含在 [A,B] 中的 min a 和 [a,b] 的段

时间:2021-03-16 06:30:34

标签: sorting intervals

我有一组重叠的区间 [a,b],并且必须在 [A,B] 内的所有区间中搜索(段 [a,b] 必须完全在 [A,B] 内),其中具有最小值一.

例如,具有重叠间隔

  1. [10, 15]
  2. [9, 21]
  3. [11, 19]
  4. [100, 110]
  5. [9, 10]
  6. [5, 11]
  7. [39, 45]

如果我们有 [A,B] = [10 , 100],那么结果应该是 [10,15]

如果我们有 [A,B] = [14 , 50],那么结果应该是 [39,45]

如果我们有 [A,B] = [15 , 25],那么结果应该是 NULL

如果我们有 [A,B] = [8 , 31],那么结果应该是 [9,21]

我认为段树可以用于此,但没有找到太多参考资料来研究这个。此外,区间树可能是另一种选择。理想情况下,这个问题可以在 O(log(N)) 中完成。我对最坏的情况感兴趣 - 平均情况无法为我解决这个问题。

解决这个问题的最佳数据结构/算法是什么,复杂度最低?

谢谢

0 个答案:

没有答案