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.方法名,引數列表,返回型別 除過子類中方法的返回型別是父類中返...