Самый эффективный способ найти перекрывающиеся диапазоны из n интервалов в Java [закрыто]JAVA

Программисты JAVA общаются здесь
Гость
Самый эффективный способ найти перекрывающиеся диапазоны из n интервалов в Java [закрыто]

Сообщение Гость »


Существует начальный массив start[1,2,3] и конечный массив end[10,8,4]. Я хочу вернуть максимальное количество точек перекрывающихся диапазонов этих интервалов.

Например: Интервал 1:[1,10], Интервал 2:[2,8], Интервал 3:[3,4]. Интервалов может быть n. Ответ — 2 (3-й и 4-й пункты), поскольку [3,4] — это диапазон, в котором перекрываются n интервалов. Если таких интервалов несколько, выберите самый длинный (максимальный).

ps: без использования дерева интервалов

Я проверил похожие вопросы, но не смог найти решения для таких интервалов. Может кто-нибудь мне помочь, пожалуйста?

Все, что я могу думать, это то, что я могу сортировать по времени начала и проверять bool перекрытие = a.start < b.end && b.start < a.end;

Однако найти все перекрывающиеся точки не получится. Самый близкий алгоритм, который я могу найти, это этот.

И из StackOverflow это.

Вернуться в «JAVA»