Алгоритм группировки по пересекающимся диапазонам дат

Подскажите, пожалуйста, лучший алгоритм для группировки данных по пересекающимся диапазонам дат.

Входные данные: Массив объектов, состоящих из трех полей: start (формат ГГГГ-ММ-ДД), end (формат ГГГГ-ММ-ДД), name. Входные данные отсортированы по start.

Выходные данные: Массив объектов, состоящих из трех полей: start (формат ГГГГ-ММ-ДД), end (формат ГГГГ-ММ-ДД), data (массив).

Пример входных данных:

[
    {
        start: 2021-10-01,
        end: 2022-10-01,
        name: data_1
    },
    {
        start: 2021-11-01,
        end: 2022-02-01,
        name: data_2
    },
    {
        start: 2021-12-01,
        end: 2022-01-01,
        name: data_3
    }
]

Пример выходных данных:

[
    {
        start: 2021-10-01,
        end: 2021-10-31,
        data:
        [
            data_1
        ]
    },
    {
        start: 2021-11-01,
        end: 2021-11-30,
        data:
        [
            data_1,
            data_2
        ]
    },
    {
        start: 2021-12-01,
        end: 2022-01-01,
        data:
        [
            data_1,
            data_2,
            data_3
        ]
    },
    {
        start: 2022-01-02,
        end: 2022-02-01,
        data:
        [
            data_1,
            data_2,
        ]
    },
    {
        start: 2022-02-02,
        end: 2022-10-01,
        data:
        [
            data_1
        ]
    }
]

Ответы (0 шт):