Python 中的矩形重叠

pythonserver side programmingprogramming更新于 2023/11/9 20:01:00

假设有一个矩形,表示为列表 [x1, y1, x2, y2],其中 (x1, y1) 是其左下角的坐标,(x2, y2) 是其右上角的坐标。现在,如果两个矩形的交点面积为正,则它们重叠。因此,我们可以理解两个仅在角或边缘处接触的矩形不重叠。

如果我们有两个(轴对齐)矩形,我们必须检查它们是否重叠。

因此,如果输入为 R1 = [0,0,2,2], R2 = [1,1,3,3],则输出将为 True。

为了解决这个问题,我们将遵循以下步骤 −

  • 如果 R1[0]>=R2[2] 或 R1[2]<=R2[0] 或 R1[3]<=R2[1] 或 R1[1]>=R2[3],则
    • 返回 False
  • 否则,
    • 返回 True

让我们看看下面的实现以便更好地理解 −

示例

class Solution:
   def isRectangleOverlap(self, R1, R2):
      if (R1[0]>=R2[2]) or (R1[2]<=R2[0]) or (R1[3]<=R2[1]) or
         (R1[1]>=R2[3]):
         return False
      else:
   return True
ob = Solution()
print(ob.isRectangleOverlap([0,0,2,2],[1,1,3,3]))

输入

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

输出

True

相关文章