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