buildings[i] = [left, right, height], где left и right — координаты левой и правой стен, а height — высота. Дома перечислены по неубыванию left.
Опишите верхний контур силуэта списком точек [x, y] по возрастанию x. Каждая точка отмечает место, где высота контура меняется: начиная с x и до следующей точки контур идёт на высоте y. Земля между домами тоже часть контура (высота 0). Последняя точка всегда имеет высоту 0 и стоит там, где кончается самый правый дом.
У двух соседних точек высоты должны различаться: если контур на нескольких участках подряд идёт на одной высоте, это один участок и одна точка.buildings=[[1, 4, 6], [2, 7, 3], [9, 11, 5]] → [[1, 6], [4, 3], [7, 0], [9, 5], [11, 0]]
От 1 до 4 контур идёт по высоте 6, дальше до 7 виден только второй дом высотой 3, от 7 до 9 — земля, затем третий дом высотой 5 до 11.
buildings=[[0, 3, 2], [3, 6, 2]] → [[0, 2], [6, 0]]
Два дома одной высоты стоят вплотную, поэтому контур — один горизонтальный отрезок от 0 до 6, и точки на 3 нет.
buildings=[[2, 8, 4], [3, 5, 9]] → [[2, 4], [3, 9], [5, 4], [8, 0]]
Высокий дом стоит на фоне низкого: контур поднимается с 4 до 9 на отрезке от 3 до 5 и возвращается к 4.
buildings упорядочен по неубыванию leftbuildings=[[1, 4, 6], [2, 7, 3], [9, 11, 5]]
[[1, 6], [4, 3], [7, 0], [9, 5], [11, 0]]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 85 тестов на сервере, включая скрытые.