矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 為左下角的座標,(x2, y2) 是右上角的座標。
如果相交的面積為正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。
給出兩個矩形,判斷它們是否重疊並返回結果。
示例 1:
輸入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]
輸出:true
原題鏈結;
說明:
兩個矩形 rec1 和 rec2 都以含有四個整數的列表的形式給出。
矩形中的所有座標都處於 -10^9 和 10^9 之間。
判斷乙個矩形的豎邊和橫邊同時在另乙個矩形範圍內。
class solution:
def isrectangleoverlap(self, rec1: list[int], rec2: list[int]) -> bool:
res1 = false
left = false
right = false
if (rec2[0]rec1[0]) or (rec2[2]rec1[0]):
left = true
if (rec2[1]rec1[1]) or (rec2[3]rec1[1]):
right = true
if left and right:
res1 = true
res2 = false
left = false
right = false
if (rec1[0]rec2[0]) or (rec1[2]rec2[0]):
left = true
if (rec1[1]rec2[1]) or (rec1[3]rec2[1]):
right = true
if left and right:
res2 = true
return res1 or res2
其他方法:
判斷對角線線段相重合。
class solution:
def isrectangleoverlap(self, rec1: list[int], rec2: list[int]) -> bool:
return max(rec1[0],rec2[0])參考:
leetcode-836-rectangle overlap;
LeetCode 836 矩形重疊
矩形以列表 x1,y1,x2,y2 的形式表示,其中 x1,y1 為左下角的座標,x2,y2 是右上角的座標。如果相交的面積為正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。給出兩個矩形,判斷它們是否重疊並返回結果。示例 1 輸入 rec1 0,0,2,2 rec2 1,1,3...
LeetCode 836 矩形重疊
矩形以列表 x1,y1,x2,y2 的形式表示,其中 x1,y1 為左下角的座標,x2,y2 是右上角的座標。如果相交的面積為正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。給出兩個矩形,判斷它們是否重疊並返回結果。示例 1 輸入 rec1 0,0,2,2 rec2 1,1,3...
LeetCode 836 矩形重疊
矩形以列表 x1,y1,x2,y2 的形式表示,其中 x1,y1 為左下角的座標,x2,y2 是右上角的座標。如果相交的面積為正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。給出兩個矩形,判斷它們是否重疊並返回結果。示例 1 輸入 rec1 0,0,2,2 rec2 1,1,3...