用 Python 编写程序检查两个矩形是否重叠

pythonserver side programmingprogramming更新于 2026/1/12 17:16:17

假设我们有一个矩形,它表示为一个包含四个元素的列表 [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 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

相关文章


有用资源