如果有一组时间段,譬如说:2001/1/1~2001/1/5
2006/5/6~2007/1/1
2002/1/1~2003/1/5
2002/5/6~2007/1/1
。要求算出有时间重叠的纪录,譬如说最后那2条就有时间重叠。
当然,我可以最简单的这样算:第1条和2,3,4...比,然后第2条和3,4...除此之外,有没效率更高的算法呢?
2006/5/6~2007/1/1
2002/1/1~2003/1/5
2002/5/6~2007/1/1
。要求算出有时间重叠的纪录,譬如说最后那2条就有时间重叠。
当然,我可以最简单的这样算:第1条和2,3,4...比,然后第2条和3,4...除此之外,有没效率更高的算法呢?
这是编程之美中的一道题,先按照Ai的大小从小到大的排序,然后遍历Bi
你可以查查"区间重合判断"