首页 > 试题广场 >

矩形重叠

[编程题]矩形重叠
  • 热度指数:1042 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个矩形,分别以四个数字 [x1,y1,x2,y2] 表示,其中 (x1,y1) 表示矩形左下角,(x2,y2) 表示矩形右上角,矩形的上下边平行于 x 轴,左右边平行于 y 轴。
如果两个矩形相交的面积为正,则两矩形重叠。如果重叠则输出 true ,否则输出 false

数据范围:矩形的四个角坐标满足
示例1

输入

[0,0,2,2],[2,2,4,4]

输出

false
示例2

输入

[0,0,2,2],[1,1,3,3]

输出

true
class Solution:
    def overlapRec(self , r1: List[int], r2: List[int]) -> bool:
        # write code here
        x1,y1,x2,y2 = r1
        x3,y3,x4,y4 = r2
        # 上方/下方
        if y3 >= y2&nbs***bsp;y4 <= y1:
            return False
        # 左边/右边
        elif x4 <= x1&nbs***bsp;x3 >= x2:
            return False
        return True

发表于 2022-04-24 11:18:41 回复(0)