当前位置:网站首页>LeetCode 593 有效的正方形[数学] HERODING的LeetCode之路
LeetCode 593 有效的正方形[数学] HERODING的LeetCode之路
2022-07-29 20:19:00 【HERODING23】

解题思路:
一道并不是很困难的数学题,有好几种解决方法,最简单的就是直接判断是否正方形,即只有四边相等,并且任意两边平行或者垂直,更简单的判断方法就是任意三点都是直角三角形,代码如下:
class Solution {
public:
bool validSquare(vector<int>& p1, vector<int>& p2, vector<int>& p3, vector<int>& p4) {
return isRTriangle(p1, p2, p3) && isRTriangle(p1, p2, p4) && isRTriangle(p1, p3, p4) && isRTriangle(p2, p3, p4);
}
bool isRTriangle(vector<int>& p1, vector<int>& p2, vector<int>& p3) {
int l1 = (p1[0] - p2[0]) * (p1[0] - p2[0]) + (p1[1] - p2[1]) * (p1[1] - p2[1]);
int l2 = (p1[0] - p3[0]) * (p1[0] - p3[0]) + (p1[1] - p3[1]) * (p1[1] - p3[1]);
int l3 = (p2[0] - p3[0]) * (p2[0] - p3[0]) + (p2[1] - p3[1]) * (p2[1] - p3[1]);
if(l1 > l2 && l2 == l3 && l1 == l2 + l3 ||
l2 > l1 && l1 == l3 && l2 == l1 + l3 ||
l3 > l1 && l1 == l2 && l3 == l1 + l2) {
return true;
}
return false;
}
};
边栏推荐
- The second growth curve | The driving guide for corporate innovation to break through the stagnation dilemma
- [GXYCTF2019] ban dolls
- 根据昵称首字母生成头像
- RNA的化学修饰原理|Gal-PEG-siRNA|siRNA-S-S-DSPE|siRNA-s-s-PEG|cholesterol-siRNA
- LeetCode 0144. 二叉树的前序遍历:二叉树必会题
- 剑指 Offer II 097. 子序列的数目
- Data visualization ---- web page displays temperature and humidity
- 240. 搜索二维矩阵 II
- 单核浏览器和双核浏览器有什么区别,哪个好用?
- What are the software development modes (software engineering development mode)
猜你喜欢

万字总结:分布式系统的38个知识点

嵌入式分享合集24

7 行代码搞崩溃 B 站,原因令人唏嘘!

JUC Concurrent Programming Basics AQS

Common power symbols meaning sharing

从实例学Kettle(一):获取股票行情数据

VR直播营销需求增加,数据模块为我们铺路

尿素偶联Urea-siRNA Conjugates|Cyclodextrin-siRNA-β-CD环糊精修饰RNA核酸(解析说明)

如何进入董事会:给CIO的十条建议

Agile Organization | The path for enterprises to overcome the impact of the digital wave
随机推荐
JMeter使用教程(一)
SAP ABAP OData 服务 Data Provider Class 的 GET_ENTITYSET 方法实现指南试读版
[ACTF2020 新生赛]Exec 1
RNA的化学修饰原理|Gal-PEG-siRNA|siRNA-S-S-DSPE|siRNA-s-s-PEG|cholesterol-siRNA
There is a fee for the picture bed software. Forget it, I wrote an open source free one.
优惠券系统设计思想
小学弟问:程序员的工作是不是每天都是敲一天的代码呢?
学校安全管理专题培训实施方案
The difference between uri and url is simple to understand (what is the difference between uri and url)
PEG-PEI共聚物/DNA复合物|甘草次酸修饰的长循环阳离子脂质体DNA复合物|解析说明
[GXYCTF2019] ban dolls
断言+异常处理类,代码更简洁了
RNA修饰技术介绍|介孔二氧化硅纳米颗粒(MSN)搭载的微小RNA-24(miR-24)纳米载体复合物
JUC Concurrent Programming Basics AQS
一线技术人应该关注的四种思维能力
根据昵称首字母生成头像
MSNs-SS-siRNA二氧化硅-二硫键-核酸RNA|HA-SS-siRNA,hyaluronic acid透明质酸修饰RNA(RNA修饰剂)
JS实现百叶窗特效
378. 有序矩阵中第 K 小的元素
全排列的一点小技巧:康托展开