Один из подходов к этому заключается в следующем: предположим, что вы должны выстроить все интервалы в строке действительных чисел.Начиная с крайнего левого, сканируйте через интервалы.Каждый раз, когда вы вводите интервал, увеличивайте счетчик количества активных интервалов, а каждый раз, когда вы его оставляете, уменьшаете счетчик.Максимальное значение счетчика в течение этого процесса - это число, которое вы ищете.
Чтобы реализовать это, отсортируйте все начальную и конечную точки интервалов (вместе) в гигантский список.длиной 2n, которая содержит начальную и конечную точки всех сегментов по мере их появления.Затем отсканируйте список слева направо, обновляя счетчик, основываясь на найденных вами точках (+1 для начальных точек, -1 для конечных точек).Сортировка занимает O (n log n) времени, а сканирование занимает O (n) времени в общей сложности O (n log n).
Надеюсь, это поможет!