836. 矩形重疊
矩形以串列 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 為左下角的坐標,(x2, y2) 是右上角的坐標,
如果相交的面積為正,則稱兩矩形重疊,需要明確的是,只在角或邊接觸的兩個矩形不構成重疊,
給出兩個矩形,判斷它們是否重疊并回傳結果,
示例 1:
輸入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]
輸出:true
示例 2:
輸入:rec1 = [0,0,1,1], rec2 = [1,0,2,1]
輸出:false
提示:
兩個矩形 rec1 和 rec2 都以含有四個整數的串列的形式給出,
矩形中的所有坐標都處于 -10^9 和 10^9 之間,
x 軸默認指向右,y 軸默認指向上,
你可以僅考慮矩形是正放的情況,
來源:leetcode
鏈接:https://leetcode-cn.com/problems/rectangle-overlap/
思路:
假設
rec1:[0,0,2,2]->[x10,y11,x12,y13]
(x10即rec1的第1位)
rec2:[1,1,3,3]->[x20,y21,x22,y23]
列舉出不匹配的情況:
x軸:x22<=x10或者x12<=x20
y軸:y11<=y23或者y21<=y13
代碼
class Solution:
def isRectangleOverlap(self, rec1, rec2) -> bool:
if rec1[1]>=rec2[3] or(rec1[0]>=rec2[2] or rec2[0]>=rec1[2]):
return False
elif rec2[1]>=rec1[3] or (rec1[0]>=rec2[2] or rec2[0]>=rec1[2]):
return False
else:
return True
a=Solution()
rec1 = [0,0,2,2]
rec2 = [1,1,3,3]
print(a.isRectangleOverlap(rec1,rec2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/171902.html
標籤:Python
上一篇:PEP 8 摘要
