Rectangle Overlap Problem


Description

LeetCode Problem 836.

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:

1
2
Input: rec1 = [0,0,2,2], rec2 = [1,1,3,3]
Output: true

Example 2:

1
2
Input: rec1 = [0,0,1,1], rec2 = [1,0,2,1]
Output: false

Example 3:

1
2
Input: rec1 = [0,0,1,1], rec2 = [2,2,3,3]
Output: false

Constraints:

  • rect1.length == 4
  • rect2.length == 4
  • -10^9 <= rec1[i], rec2[i] <= 10^9
  • rec1 and rec2 represent a valid rectangle with a non-zero area.


Sample C++ Code

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public:
    bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
         int x1 = max(rec1[0],rec2[0]);
         int y1 = max(rec1[1],rec2[1]);
         int x2 = min(rec1[2],rec2[2]);
         int y2 = min(rec1[3],rec2[3]);
        
         if(x1 < x2 && y1 < y2)
             return true;
        return false;
    }
};




Related Posts

Rectangle Overlap Problem

LeetCode 836. An axis-aligned rectangle is represented as a list...

Mirror Reflection Problem

LeetCode 858. There is a special square room with mirrors...

Minimum Area Rectangle II Problem

LeetCode 963. You are given an array of points in...

Largest Triangle Area Problem

LeetCode 812. Given an array of points on the X-Y...

Erect The Fence Problem

LeetCode 587. You are given an array trees where trees[i]...

Valid Square Problem

LeetCode 593. Given the coordinates of four points in 2D...