# Solving Leetcode Interviews in Seconds with AI: Rectangle Overlap


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "836" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> 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 == 4 rec2.length == 4 -109 <= rec1[i], rec2[i] <= 109 rec1 and rec2 represent a valid rectangle with a non-zero area.  

	# Explanation
	Here's the breakdown of the solution:

*   **Check for Non-Overlapping Conditions:** The most efficient approach is to identify the conditions under which the rectangles *do not* overlap. If any of these conditions are met, we can immediately return `False`. These conditions relate to one rectangle being entirely to the left, right, above, or below the other rectangle.
*   **Overlap Condition:** If none of the non-overlapping conditions are met, it means the rectangles must overlap. Return `True` in this case.

*   **Time & Space Complexity:** O(1) time complexity, O(1) space complexity.

	
	# Code
	```python
	def isRectangleOverlap(rec1, rec2):
    """
    Checks if two axis-aligned rectangles overlap.

    Args:
        rec1: A list [x1, y1, x2, y2] representing the first rectangle.
        rec2: A list [x1, y1, x2, y2] representing the second rectangle.

    Returns:
        True if the rectangles overlap, False otherwise.
    """

    # Check if the rectangles do NOT overlap.
    if rec1[2] <= rec2[0] or rec1[3] <= rec2[1] or rec2[2] <= rec1[0] or rec2[3] <= rec1[1]:
        return False

    # If none of the above conditions are met, the rectangles overlap.
    return True
	```
			
