每日一題,每日一練 3矩形重疊

2021-10-04 02:15:23 字數 1669 閱讀 2156

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 軸預設指向上。

你可以僅考慮矩形是正放的情況。

五分鐘寫完,一小時改進(這快成簡單題的日常了我去)

最初想了一下點判定的方式,後來發現點是不靠譜的(不知道兩個矩陣的相對位置怎麼判斷大小,還要多寫乙個判斷),於是改用了邊判定,即只要第二個矩形的下邊在第乙個的上邊(或者第二個矩形的左邊在第乙個矩形的右邊,以此類推)那麼就沒有可能相交了,這時候橫縱座標就尅直接表示邊的位置,於是便以四邊來進行對比

**如下:

class

solution

:def

isrectangleoverlap

(self, rec1: list[

int]

, rec2: list[

int])-

>

bool

:return

(false

if rec1[2]

<=rec2[0]

or rec1[0]

>=rec2[2]

or maxrec1[3]

<=rec2[1]

or rec1[1]

>=rec2[3]

)else

true

)```python

(順邊練了盡量寫在同一行裡的三元表示式)

))

然而對於效率沒什麼改進,不過多一種方法總是好事,生活大抵也是如此

LeetCode每日一題 矩形重疊

矩形以列表 x1,y1,x2,y2 的形式表示,其中 x1,y1 為左下角的座標,x2,y2 是右上角的座標。如果相交的面積為正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。給出兩個矩形,判斷它們是否重疊並返回結果。示例 1 輸入 rec1 0,0,2,2 rec2 1,1,3...

Leetcode 矩形重疊(每日一題)

矩形重疊 題意 矩形以列表 x1,y1,x2,y2 的形式表示,其中 x1,y1 為左下角的座標,x2,y2 是右上角的座標。如果相交的面積為正,則稱兩矩形重疊。需要明確的是,只在角或邊接觸的兩個矩形不構成重疊。給出兩個矩形,判斷它們是否重疊並返回結果。題解 感覺這個題見過好多次了。實際上是個很簡單...

每日一練3

1.過載overload是乙個類中多型性的一種表現 2.過載要求同名方法的引數列表不同 引數型別,引數個數甚至是引數順序 3.過載的時候,返回值型別可以相同也可以不相同。無法以返回型別作為過載函式的區分標準 1.發生在父類與子類之間 2.方法名,引數列表,返回型別 除過子類中方法的返回型別是父類中返...