完美矩形

JavaScript027

完美矩形,第1张

示例 1:

输入:rectangles = [[1,1,3,3],[3,1,4,2],[3,2,4,4],[1,3,2,4],[2,3,3,4]]

输出:true

解释:5 个矩形一起可以精确地覆盖一个矩形区域。

示例 2:

输入:rectangles = [[1,1,2,3],[1,3,2,4],[3,1,4,2],[3,2,4,4]]

输出:false

解释:两个矩形之间有间隔,无法覆盖成一个矩形。

示例 3:

输入:rectangles = [[1,1,3,3],[3,1,4,2],[1,3,2,4],[3,2,4,4]]

输出:false

解释:图形顶端留有空缺,无法覆盖成一个矩形。

示例 4:

输入:rectangles = [[1,1,3,3],[3,1,4,2],[1,3,2,4],[2,2,4,4]]

输出:false

解释:因为中间有相交区域,虽然形成了矩形,但不是精确覆盖。

设矩形的左上顶点是(x, y), 宽w, 高h, 那么只要存在以下情况一定不相交, 否则是相交的

(x1 + w1) <x2 || (x2 + w2) <x1 || (y1 + h1) <y2 || (y2 + h2) <y1