给定一组具有下限和上限的范围,我需要组合这些范围以生成最小数量的范围,该范围将覆盖原始集中的所有值,而不是其他值。
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]
最佳答案
我建议查看https://en.wikipedia.org/wiki/Interval_tree
您已经使用了最有效的算法,该算法在 O(n) 合并之前涉及 O(n logn) 排序。所以不,我认为您无法进行任何其他改进。
关于java - 组合一组 "ranges"来找到最少数量的范围 - 如何改进它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31632585/