Как добавить один интервал, чтобы уменьшить количество отдельных групп?JAVA

Программисты JAVA общаются здесь
Anonymous
Как добавить один интервал, чтобы уменьшить количество отдельных групп?

Сообщение Anonymous »

Я работаю над проблемой оптимизации интервалов. Приведено: < /p>
Список интервалов (каждый из которых определяется началом a и end b , оба включительно) < /p>
Число k, которое определяет максимальный размер одного дополнительного интервала, мы можем вставить в список < /p>
. (Непересекающиеся) интервалы после слияния минимизированы.

Код: Выделить всё

Intervals = [(1, 5), (2, 4), (6, 6), (7, 14), (16, 19)]
k = 2

Option 1:
Add interval (5, 7) → Merged result:
[(1, 5), (2, 4), (5, 7), (6, 6), (7, 14)] → merges into one group
and
[(16, 19)]
→ Total disconnected groups: 2

Option 2:
Add interval (14, 16) instead → results in 3 groups:
[(1, 5), (2, 4)], [(6, 6)], [(7, 14), (14, 16), (16, 19)]

So, best result is 2 disconnected intervals.
ограничения: [/b]

Код: Выделить всё

1 
Как можно продвинуть право в цикле?> 

Подробнее здесь: [url]https://stackoverflow.com/questions/79604041/how-to-add-one-interval-to-reduce-the-number-of-separate-groups[/url]

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