LeetCode836 矩形重疊

2021-09-27 18:48:12 字數 1267 閱讀 4787

矩形以列表 [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...