У меня есть набор событий со временем начала и окончания. Я хочу, чтобы сделать их как длинные коробки в серии строк, не перекрываются, что-то вроде этогоАлгоритм для упаковки временных интервалов
00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00
--|--------|--------|--------|--------|--------|--------|--------|--------|--
AAAAAAAAAAAA BBBBBB CCCCCCCCCCCCCCCCCCCC DDDDDDDDDDDD
--|--------|--------|--------|--------|--------|--------|--------|--------|--
EEEEEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
--|--------|--------|--------|--------|--------|--------|--------|--------|--
GGGGGGGGGGGGGGGGGGG HHHHHHHH IIIIIIIIIIIII
--|--------|--------|--------|--------|--------|--------|--------|--------|--
Назначение какого-либо конкретного окна, чтобы какой-либо конкретной строки не важно. То, что я хочу, это алгоритм, который будет упаковывать эти ящики в наименьшее количество строк.
Есть ли для этого известный алгоритм?
Для меня это похоже на вариацию проблемы [Subset-sum problem] (https://en.wikipedia.org/wiki/Subset_sum_problem). – ThreeFx