Это вопрос интервью, интервью было сделано.
Учитывая колоду прямоугольных карточек, произвольно помещайте их на прямоугольную таблицу, размер которой намного больше, чем общая сумма карт. Некоторые карты могут случайно накладываться друг на друга. Разработайте алгоритм, который может подсчитать площадь таблицы, покрываемой всеми картами, а также проанализировать временную сложность алгоритма. Все координаты каждой вершины всех карт известны. Карты могут перекрываться в любых шаблонах.
Моя идея:
Сортировка карт по вертикальной координате по убыванию.
Сканировать карты вертикально сверху вниз после достижения края или вершин карты, продолжить сканирование с помощью другой строки сканирования, пока не достигнет другого края, и найдите область, расположенную между двумя линиями. Наконец, суммируйте всю область, расположенную между двумя линиями, и получите результат.
Но, как вычислить область, расположенную между двумя линиями, является проблемой, если область нерегулярна.
Любая помощь приветствуется. спасибо!