Задача

Даны два отсортированных списка с интервалами присутствия пользователей в онлайне в течение дня. Начало интервала строго меньше конца. Нужно вычислить интервалы, когда оба пользователя были в онлайне. Интервалы указаны в часах, считаем что могут быть часы от 0 до 24.

Пример

console.log(
    getIntersections(
        [[8, 12], [17, 22]],
        [[5, 11], [14, 18], [20, 23]]
    )
); // [8, 11], [17, 18], [20, 22]
 
console.log(
    getIntersections(
        [[9, 15], [18, 21]],
        [[10, 14], [21, 22]]
    )
); // [10, 14]
 
console.log(
    getIntersections(
        [[10, 14], [21, 24]],
        [[9, 15], [18, 21], [22, 24]]
    )
); // [10, 14], [22, 24]

Решение

См. также