Я предлагаю применить алгоритм подсчета распределения.
Ниже приведена простая демонстрация алгоритма с 3 примерами последовательностей:
seq-1: [{1,2,}..{9,10}]
seq-2: [{1,2,3}..{5,7,8}]
seq-3: [{2,3,4}..{6,7}..{9,10}]
Вам необходимо найти максимальное значение во всех последовательностях. В данном случае это 10.
Создайте массив int из 11 элементов, начиная с 0 до 10.
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Теперь мы посчитаем появление элементов во всех последовательностях, увеличив его значение на 1.
seq-1: [{1,2,} .. {9,10}]
This sequence contains 1, 2, 9, and 10.
Increase value at index 1, 2, 9, and 10 by 1.
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
seq-2: [{1,2,3} .. {5,7,8}]
This sequence contains 1, 2, 3, 5, 7,and 8.
Increase value at index 1, 2, 3, 5, 7, and 8 by 1.
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 2 | 2 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
сек-3: [{2,3,4} .. {6,7} .. {9,10}]
This sequence contains 2, 3, 4, 6, 7, 9, and 10.
Increase value at index 2, 3, 4, 6, 7, 9, and 10 by 1.
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
--------------------------------------------------
A[i]| 0 | 2 | 3 | 2 | 1 | 1 | 1 | 2 | 1 | 2 | 2 |
В конце концов, очевидно, что число 2 имеет максимальное время перекрытия 3 между всеми последовательностями.
Надеюсь, мое предложение поможет!