Each building is [left, right, height]: it occupies the x-range from left up to (not including) right at the given positive height. Return the skyline formed by all the buildings as a list of key points [x, height], sorted by x.
- A key point is the left end of a horizontal segment: from x onwards the skyline has the given height, until the next key point
- The last key point always has height 0 (where the rightmost building ends)
- Never output two consecutive key points with the same height: merge them away
- The buildings may be in any order, may overlap, and adjacent buildings may touch at an x
- No buildings gives an empty skyline
[] - Target: O(n log n)