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

更新於: 04-Jul-2020

5K+ 瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.