A rectangle is represented as a list[x1, y1, x2, y2]
, where (x1, y1)
are the coordinates of its bottom-left corner, and(x2, y2)
are the coordinates of its top-right corner.
Two rectangles overlap if the area of their intersection is positive. To be clear, two rectangles that only touch at the corner or edges do not overlap.
Given two rectangles, return whether they overlap.
Example 1:
Input:
rec1 = [0,0,2,2], rec2 = [1,1,3,3]
Output:
true
Example 2:
Input:
rec1 = [0,0,1,1], rec2 = [1,0,2,1]
Output:
false
Notes:
rec1
and
rec2
are lists of 4 integers.-10^9
and
10^9
.class Solution {
public boolean isRectangleOverlap(int[] rec1, int[] rec2) {
int leftY1 = rec1[1];
int rightY1 = rec1[3];
int bottomX1 = rec1[0];
int topX1 = rec1[2];
int leftY2 = rec2[1];
int rightY2 = rec2[3];
int bottomX2 = rec2[0];
int topX2 = rec2[2];
if (rightY1 <= leftY2 || leftY1 >= rightY2 || bottomX1 >= topX2 || topX1 <= bottomX2) return false;
return true;
}
}