Python 中的矩形重叠
假设有一个矩形表示为列表 [x1, y1, x2, y2],其中 (x1, y1) 是其左下角的坐标,(x2, y2) 是其右上角的坐标。现在,如果其交叉部分的面积为正,则两个矩形重叠。因此,我们可以理解,仅在角或边处相交的两个矩形不会重叠。
如果我们有两个(轴对齐的)矩形,则必须检查它们是否重叠。
因此,如果输入如下:R1 = [0,0,2,2],R2 = [1,1,3,3],则输出将为 True。
要解决此问题,我们将遵循以下步骤:
- if R1[0]>=R2[2] or R1[2]<=R2[0] or R1[3]<=R2[1] or R1[1]>=R2[3], then
- return False
- 否则,
- return 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
广告