LC 593 驗證正方形

2022-08-31 04:30:13 字數 587 閱讀 2903

問題:

給出4個點,判斷這四個點能否構成乙個正方形

思路:乙個正方形意味著4條邊相等,四個角都為直角。我就簡單地先計算p1到p2,p3,p4的三個向量,然後判斷向量v2,v3,v4之間,有哪兩個向量是垂直的(點積等於0)。

找出2個垂直向量之後(例如v2,v3),就判斷這兩個向量的長度是否相等,而且這兩個向量與剩下的乙個向量(v4)是否構成勾股定理。

最後,再根據向量的減法,求出剩下的點到這兩個點的向量(v4 - v2和v4 - v3)與兩向量(v2, v3)是否分別垂直。

這樣,就可以確保有三個角是直角,而且線段相等,且對角線符合勾股定理。

這種方法的執行時間是0ms噢。

**:

1

class

solution 22}

23else

if (v2[0] * v4[0] + v2[1] * v4[1] == 0

) 30}31

else

if (v3[0] * v4[0] + v3[1] * v4[1] == 0

) 38}39

return

false;40

}41 };

LEETCODE593 有效的正方形

問題描述 給定二維空間中四點的座標,返回四點是否可以構造乙個正方形。乙個點的座標 x,y 由乙個有兩個整數的整數陣列表示。示例 輸入 p1 0,0 p2 1,1 p3 1,0 p4 0,1 輸出 true 注意 所有輸入整數都在 10000,10000 範圍內。乙個有效的正方形有四個等長的正長和四個...

Leetcode 593 有效的正方形

給定二維空間中四點的座標,返回四點是否可以構造乙個正方形。乙個點的座標 x,y 由乙個有兩個整數的整數陣列表示。示例 輸入 p1 0,0 p2 1,1 p3 1,0 p4 0,1 輸出 true 注意 所有輸入整數都在 10000,10000 範圍內。乙個有效的正方形有四個等長的正長和四個等角 90...

正方形等分計數總正方形數

如下圖正方形,邊長是1cm,每邊被四等分,求一共分出了多少個正方形。經過手工數 邊長為1 4的正方形 16 邊長為1 2的正方形 9 邊長為3 4的正方形 4 邊長為1的正方形 1 所以一共是 30個正方形。當上述的正方形,邊長被3等分的情況又如何 還是手動數 邊長為1 3的正方形 9 邊長為2 3...