836. Rectangle Overlap #
Problem #
A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of its bottom-left corner, and (x2, y2) are the coordinates of its top-right corner.
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, return whether they overlap.
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
Notes:
- Both rectangles
rec1andrec2are lists of 4 integers. - All coordinates in rectangles will be between
-10^9and10^9.
Problem Summary #
A rectangle is represented in the form of a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of the bottom-left corner, and (x2, y2) are the coordinates of the top-right corner. If the area of the intersection is positive, the two rectangles are said to overlap. To be clear, two rectangles that only touch at a corner or edge do not overlap. Given two rectangles, determine whether they overlap and return the result.
Notes:
- Both rectangles rec1 and rec2 are given in the form of lists containing four integers.
- All coordinates in the rectangles are between -10^9 and 10^9.
Solution Approach #
- Given the coordinates of two rectangles, determine whether the two rectangles overlap.
- This is a geometry problem; simply judge it according to geometric methods.
Code #
package leetcode
func isRectangleOverlap(rec1 []int, rec2 []int) bool {
return rec1[0] < rec2[2] && rec2[0] < rec1[2] && rec1[1] < rec2[3] && rec2[1] < rec1[3]
}