《python算法与数据结构2000讲》0218. 天际线问题
- 标签: 树状数组、线段树、数组、分治、有序集合、扫描线、堆(优先队列)
- 难度:困难
题目大意
城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。
给定所有建筑物的位置和高度所组成的数组 buildings
。其中三元素 buildings[i] = [left_i, right_i, height_i]
表示 left_i
是第 i
座建筑物左边界的 x
坐标。right_i
是第 i
座建筑物右边界的 x
坐标,height_i
是第 i
做建筑物的高度。
要求:返回由这些建筑物形成的天际线 。
- 天际线:由 “关键点” 组成的列表,格式
[[x1, y1], [x2, y2], [x3, y3], ...]
,并按x
坐标进行排序。 - 关键点:水平线段的左端点。列表中最后一个点是最右侧建筑物的终点,
y
坐标始终为0
,仅用于标记天际线