使用 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
广告