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

更新於: 2020 年 10 月 7 日

3K+ 瀏覽

開始你的職業生涯

透過完成課程獲得認證

開始
廣告