使用 Python 检查两个矩形是否重叠的程序


假设我们有一个矩形,表示为一个包含四个元素的列表 [x1, y1, x2, y2],其中 (x1, y1) 是其左下角的坐标,(x2, y2) 是其右上角的坐标。当两个矩形的相交区域的面积大于 0 时,它们重叠。因此,仅在角或边上接触的两个矩形不重叠。

因此,如果输入为 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 solve(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.solve([0,0,3,3],[1,1,4,4]))

输入

[0,0,3,3],[1,1,4,4]

输出

True

更新于: 2020 年 10 月 7 日

3K+ 浏览

开始你的职业生涯

通过完成课程获得认证

开始
广告