Напишите программу, которая будет определять, пересекаются ли два прямоугольника. Если они пересекаются, вернуть прямоугольник, образованный их пересечением. (Предположим, что стороны прямоугольников параллельны осям X и Y. Для справки см. рис. 1.)

Подсказка: подумайте о размерах X и Y независимо друг от друга.

Решение

Существует множество различных способов, которыми прямоугольники могут перекрываться, как показано на рис. 1, поэтому более четкий подход состоит в том, чтобы определить, когда прямоугольники НЕ пересекаются. Например, если X-диапазон значений для одного прямоугольника не включает никаких значений из X-диапазона второго прямоугольника, то они не могут перекрываться. То же самое касается Y-диапазона значений.

Если значения X и значения Y двух прямоугольников пересекаются, то все точки с этими значениями X и Y содержатся в пересечении.

Временная сложность O(1), потому что количество операций постоянно.