正如我在项目中遇到的那样,这本身不是一个采访问题,但我认为这可能是一个不错的干预问题。
您有N对间隔,例如整数。您需要确定在O(N)时间内彼此重叠的所有间隔。例如,如果您有
{1,3} {12,14} {2,4} {13,15} {5,10}
答案是{1、3},{12、14},{2、4},{13、15}。请注意,您无需对其进行分组,因此结果可以按示例中的任何顺序排列。
我只是花了O(N)的时间,因为KMP算法将O(N)用于字符串搜索。:D
我想到的最好的东西是我现在在项目中使用的是O(N ^ 2)。是的,蛮力很可悲,但是没有人抱怨,所以我不会重构它。:P不过,我很好奇,如果一个更大的头脑有一个更优雅的解决方案。
千万里不及你
慕的地8271018