当前位置:网站首页>LeetCode:836. Rectangle overlap

LeetCode:836. Rectangle overlap

2022-07-06 08:51:00 Bertil

Rectangle to list [x1, y1, x2, y2] Formal representation of , among (x1, y1) Is the coordinates of the lower left corner ,(x2, y2) It's the coordinates in the upper right corner . The upper and lower edges of the rectangle are parallel to x Axis , The left and right sides are parallel to y Axis .

If the area of intersection is just , It's called overlapping of two rectangles . Just to be clear , Two rectangles that only touch at the corner or edge do not form an overlap .

Give two rectangles rec1 and rec2 . If they overlap , return true; 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

Tips :

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


Their thinking

1. First, find out the four cases that do not overlap , It is represented by the horizontal and vertical coordinates of the lower left and upper right corners of the two figures
2. Then return the inverse operation results of these four cases

Code

/** * @param {number[]} rec1 * @param {number[]} rec2 * @return {boolean} */
var isRectangleOverlap = function(rec1, rec2) {
    
    const [x1, y1, x2, y2] = rec1;
    const [x3, y3, x4, y4] = rec2;
    return !(x1 >= x4 || x3 >= x2 || y3 >= y2 || y1 >= y4);
};
原网站

版权声明
本文为[Bertil]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060844309193.html