У меня есть arrayList интервалов dateTime (из библиотеки joda-time), и каждый из них привязан к значению int.например:
[(9: 00,17: 00,0), (17: 00,19: 00,25), (19: 00,20: 00,50), (9:00, 20: 00,50)]
Я хочу объединить интервалы, чтобы ни один из них не перекрывался, но части, которые не пересекаются, станут независимым интервалом, вложения int будут сливаться друг с другом в перекрытиичастей.в приведенном выше примере мне нужен этот результат:
[(9: 00,17: 00,50), (17: 00,19: 00,75), (19: 00,20: 00,100)]
- более 2 интервалов могут перекрываться \ содержать друг друга
- на входе никогда не будет пропусков (интервалы отделяются от базового интервала).
другой пример, если это помогает:
input: [(8: 00,16: 00,0), (16: 00,18: 00,25), (18: 00,21: 00,50)), (8: 00,18: 00,50)]
выход: [8: 00,16: 00,50), (16: 00,18: 00,75) (18:00,21: 00,50)]