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