Rectangle Overlap

easy geometry math

Problem

Each rectangle is given as [x1, y1, x2, y2]. Return true if they overlap with positive area, otherwise false.

Inputrec1 = [0,0,2,2], rec2 = [1,1,3,3]
Outputtrue
They share the square (1,1)-(2,2).

def isRectangleOverlap(rec1, rec2):
    return (rec1[0] < rec2[2] and rec2[0] < rec1[2] and
            rec1[1] < rec2[3] and rec2[1] < rec1[3])
function isRectangleOverlap(rec1, rec2) {
  return rec1[0] < rec2[2] && rec2[0] < rec1[2] &&
         rec1[1] < rec2[3] && rec2[1] < rec1[3];
}
class Solution {
  public boolean isRectangleOverlap(int[] rec1, int[] rec2) {
    return rec1[0] < rec2[2] && rec2[0] < rec1[2]
        && rec1[1] < rec2[3] && rec2[1] < rec1[3];
  }
}
class Solution {
public:
    bool isRectangleOverlap(vector<int>& rec1, vector<int>& rec2) {
        return rec1[0] < rec2[2] && rec2[0] < rec1[2]
            && rec1[1] < rec2[3] && rec2[1] < rec1[3];
    }
};
Time: O(1) Space: O(1)