题目:
X轴上有N条线段,每条线段包括1个起点和终点。线段的重叠是这样来算的,
1020
1020和
1225
1225的重叠部分为
1220
1220。
给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长的。输出这个最长的距离。如果没有重叠,输出0。
思路:先把所有线段按照左端点从小到大排序,然后求出两两之间的重叠大小。现在最右边的线段是limr,如果新的线段最右边大于limr,更新limr,重叠部分为limr-a[i].l;否则不更新limr,重叠部分为a[i].r-a[i].l。