解法
- 用到了优先队列 PriorityQueue,和可以排序的 TreeMap
- 主要思想为从左到右扫描,扫描的高度更新时,结果集更新
class Solution {
public List<List<Integer>> getSkyline(int[][] buildings) {
int length = buildings.length;
/*优先队列,当两个点位置不同时,位于左边的点放在前面;
位置相同时,高度较高的点放在前面*/
PriorityQueue<int[]> pQueue = new PriorityQueue<>((x, y) -> x[0] != y[0] ? x[0] - y[0] : x[1