扫描线?数飞机 (Interval overlap)

From 九章算法


这题可以理解为给定的interval里,最大overlapping数量。

扫描线?数飞机 (Interval overlap)_第1张图片


扫描线?数飞机 (Interval overlap)_第2张图片
扫描线?数飞机 (Interval overlap)_第3张图片

这个想法太赞了,完全不需要sort interval。 创造一个object class, start的时间和end的时间都可以用来当做时间这个time variable 放在class里。

然后 sort a list of Objects based on time variable.   start1---start2---end1---end2...

然后iterate。当看到start的时候 count++. 看到end的时候 count--. 然后取max count 就好了。

你可能感兴趣的:(扫描线?数飞机 (Interval overlap))