力扣刷题:有效的正方形
2026/6/17 14:25:34 网站建设 项目流程

题目:
给定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

解析:
判断是不是正方形只需根据四条边是否相等,两条对角线是否相等即可

具体代码

/** * @param {number[]} p1 * @param {number[]} p2 * @param {number[]} p3 * @param {number[]} p4 * @return {boolean} */varvalidSquare=function(p1,p2,p3,p4){letset=newSet()functiongetLength(p1,p2){letx=p1[0]-p2[0]lety=p1[1]-p2[1]letres=x*x+y*y set.add(res)}getLength(p1,p2)getLength(p1,p3)getLength(p1,p4)getLength(p2,p3)getLength(p2,p4)getLength(p3,p4)letarr=Array.from(set)if(arr.length===2&&arr[0]!==0&&arr[1]!==0){returntrue}else{returnfalse}};

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询