An axis-aligned rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) is the coordinate of its bottom-left corner, and (x2, y2) is the coordinate of its top-right corner. Its top and bottom edges are parallel to the X-axis, and its left and right edges are parallel to the Y-axis.
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 axis-aligned 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 == 4rec2.length == 4-109 <= rec1[i], rec2[i] <= 109rec1 and rec2 represent a valid rectangle with a non-zero area.This approach checks if there are conditions that confirm non-overlapping rectangles. Specifically, two rectangles do not overlap if:
If any of these conditions are true, the rectangles do not overlap. Otherwise, they do overlap.
The function checks whether any of the non-overlapping conditions are true. If none are true, it means the rectangles overlap.
C++
Java
JavaScript
C#
C
Time Complexity: O(1), since the operation involves a constant number of comparisons.
Space Complexity: O(1), since the space used by the function is constant with respect to inputs.
This approach computes the potential intersecting rectangle and verifies if its calculated dimensions form a valid rectangle with a positive area. The logic involves:
max(rec1[0], rec2[0])min(rec1[2], rec2[2])max(rec1[1], rec2[1])min(rec1[3], rec2[3])The function calculates potential overlapping parts along both axes and ensures these parts form an area (both x and y overlap must be true).
C++
Java
JavaScript
C#
C
Time Complexity: O(1)
Space Complexity: O(1)
| Approach | Complexity |
|---|---|
| Rectangle Non-Overlap Conditions | Time Complexity: O(1), since the operation involves a constant number of comparisons. |
| Checking Overlap Using Intersection | Time Complexity: O(1) |
Find if two rectangles overlap | GeeksforGeeks • GeeksforGeeks • 67,808 views views
Watch 9 more video solutions →Practice Rectangle Overlap with our built-in code editor and test cases.
Practice on FleetCode