LC.P593[有效的正方形]
题目描述
给定2D空间中四个点的坐标 p1
, p2
, p3
和 p4
,如果这四个点构成一个正方形,则返回 true
。
点的坐标 pi
表示为 [xi, yi]
。 输入没有任何顺序 。
一个 有效的正方形 有四条等边和四个等角(90度角)。
示例 1:
输入: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1]
输出: True
示例 2:
输入:p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,12]
输出:false
示例 3:
输入:p1 = [1,0], p2 = [-1,0], p3 = [0,1], p4 = [0,-1]
输出:true
提示:
p1.length == p2.length == p3.length == p4.length == 2
-104 <= xi, yi <= 104
方法一:数学
任取四个点中的三个点,若这三个点能组成等边直角三角形,则保存正方形的边长为直角边长,继续排列组合,若无法组成等边直角三角形或组成的边长与原有的边长不等,则返回false;若全部检查完成,返回true。
1 | class Solution { |
- 时间复杂度:$O(1)$
- 空间复杂度:$O(1)$
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 byu_rself!
评论