结合一组“范围”来找到最少数量的范围 - 如何改进它?

时间:2015-07-26 00:59:17

标签: java

给定一组具有下限和上限的范围,我需要组合这些范围以产生最小数量的范围,这将覆盖原始集合中的所有值,而不是其他任何值。

Ex 1: input  [100, 200], [120-170],[210 - 230]. Ouput - [100-200], [210-230]
Ex 2: input [100, 200], [120-210],[210 - 230]. Ouput - [100-230]

1 个答案:

答案 0 :(得分:0)

我建议您查看https://en.wikipedia.org/wiki/Interval_tree

您已经使用了在O(n)合并之前涉及O(n logn)排序的最有效算法。所以不,我不认为你可以做任何额外的改进。