Tag : 「扫描线」
给你一个数组 rectangles ,其中 rectangles[i] = [xi, yi, ai, bi] 表示一个坐标轴平行的矩形。...这个矩形的左下顶点是 (xi, yi) ,右上顶点是 (ai, bi) 。
如果所有矩形一起精确覆盖了某个矩形区域,则返回 true ;否则,返回 false 。...示例 1:
输入:rectangles = [[1,1,3,3],[3,1,4,2],[3,2,4,4],[1,3,2,4],[2,3,3,4]]
输出:true
解释:5 个矩形一起可以精确地覆盖一个矩形区域...= 10^5
扫描线
将每个矩形
rectangles[i]
看做两条竖直方向的边,使用
(x, y1, y2)
的形式进行存储(其中
y1
代表该竖边的下端点,
y2
代表竖边的上端点)...,同时为了区分是矩形的左边还是右边,再引入一个标识位,即以四元组
(x, y1, y2, flag)
的形式进行存储。