Welcome to Subscribe On Youtube
836. Rectangle Overlap
Description
An axisaligned rectangle is represented as a list [x1, y1, x2, y2]
, where (x1, y1)
is the coordinate of its bottomleft corner, and (x2, y2)
is the coordinate of its topright corner. Its top and bottom edges are parallel to the Xaxis, and its left and right edges are parallel to the Yaxis.
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 axisaligned rectangles rec1
and rec2
, return true
if they overlap, otherwise return false
.
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
Example 3:
Input: rec1 = [0,0,1,1], rec2 = [2,2,3,3] Output: false
Constraints:
rec1.length == 4
rec2.length == 4
10^{9} <= rec1[i], rec2[i] <= 10^{9}
rec1
andrec2
represent a valid rectangle with a nonzero area.
Solutions

class Solution { public boolean isRectangleOverlap(int[] rec1, int[] rec2) { int x1 = rec1[0], y1 = rec1[1], x2 = rec1[2], y2 = rec1[3]; int x3 = rec2[0], y3 = rec2[1], x4 = rec2[2], y4 = rec2[3]; return !(y3 >= y2  y4 <= y1  x3 >= x2  x4 <= x1); } }

class Solution { public: bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) { int x1 = rec1[0], y1 = rec1[1], x2 = rec1[2], y2 = rec1[3]; int x3 = rec2[0], y3 = rec2[1], x4 = rec2[2], y4 = rec2[3]; return !(y3 >= y2  y4 <= y1  x3 >= x2  x4 <= x1); } };

class Solution: def isRectangleOverlap(self, rec1: List[int], rec2: List[int]) > bool: x1, y1, x2, y2 = rec1 x3, y3, x4, y4 = rec2 return not (y3 >= y2 or y4 <= y1 or x3 >= x2 or x4 <= x1)

func isRectangleOverlap(rec1 []int, rec2 []int) bool { x1, y1, x2, y2 := rec1[0], rec1[1], rec1[2], rec1[3] x3, y3, x4, y4 := rec2[0], rec2[1], rec2[2], rec2[3] return !(y3 >= y2  y4 <= y1  x3 >= x2  x4 <= x1) }