news 2026/5/9 21:27:38

力扣刷题:有效的正方形

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣刷题:有效的正方形

题目:
给定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}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 3:14:51

ArduPilot传感器驱动终极实战指南:从零到一的完整开发流程

ArduPilot传感器驱动终极实战指南:从零到一的完整开发流程 【免费下载链接】ardupilot 项目地址: https://gitcode.com/gh_mirrors/ard/ardupilot 你是否曾经面对全新的传感器却无从下手?是否在无人机感知系统集成时感到困惑?本文将为…

作者头像 李华
网站建设 2026/5/8 17:20:24

AutoAWQ模型量化实战:3倍性能提升的完整指南

AutoAWQ模型量化实战:3倍性能提升的完整指南 【免费下载链接】AutoAWQ AutoAWQ implements the AWQ algorithm for 4-bit quantization with a 2x speedup during inference. 项目地址: https://gitcode.com/gh_mirrors/au/AutoAWQ 还在为大语言模型推理速度…

作者头像 李华
网站建设 2026/5/8 9:08:32

如何快速解决Linux无线网卡兼容性问题:RTL8188EU驱动完整指南

如何快速解决Linux无线网卡兼容性问题:RTL8188EU驱动完整指南 【免费下载链接】rtl8188eu Repository for stand-alone RTL8188EU driver. 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8188eu 还在为Linux系统无法识别无线网卡而烦恼吗?RTL8…

作者头像 李华
网站建设 2026/5/4 14:50:48

终极指南:如何用IINA打造完美的macOS视频播放体验

终极指南:如何用IINA打造完美的macOS视频播放体验 【免费下载链接】iina 项目地址: https://gitcode.com/gh_mirrors/iin/iina 还在为macOS上找不到好用的视频播放器而烦恼吗?IINA视频播放器作为专为苹果用户设计的播放工具,完美解决…

作者头像 李华
网站建设 2026/5/8 20:45:10

24、《测试驱动开发与设计模式中的测试挑战及解决方案》

《测试驱动开发与设计模式中的测试挑战及解决方案》 1. 测试性与设计模式带来的挑战 可测试性是衡量代码质量的重要线索,但使用设计模式有时却会引发测试问题。如果设计模式反映的特性正是测试期望引导我们达成的,为何使用模式反而让测试变得更难了呢? 就像一个著名的故事…

作者头像 李华
网站建设 2026/5/9 3:56:05

33、软件设计中的沟通、模式与可维护性

软件设计中的沟通、模式与可维护性 1. 沟通的本质与软件的类比 在交流中,我们常常忽略了一个重要的事实:语言只是沟通的“令牌”。就像几年前参加的一门关于语言和信息传递的课程中提到的,两个人交谈时,话语本身并非沟通,而是沟通意义的代表。在任何形式的交流里,都存在…

作者头像 李华