当前位置:网站首页>365天挑战LeetCode1000题——Day 043 有效的正方形 数学
365天挑战LeetCode1000题——Day 043 有效的正方形 数学
2022-07-29 11:43:00 【ShowM3TheCode】
593. 有效的正方形

代码实现(自解)
class Solution {
private:
const double epsilon = 0.00001;
public:
bool validSquare(vector<int>& p1, vector<int>& p2, vector<int>& p3, vector<int>& p4) {
if (p1 == p2 || p2 == p3 || p3 == p4) return false;
double p1p2 = sqrt(pow(p1[0] - p2[0], 2) + pow(p1[1] - p2[1], 2));
double p1p3 = sqrt(pow(p1[0] - p3[0], 2) + pow(p1[1] - p3[1], 2));
double p1p4 = sqrt(pow(p1[0] - p4[0], 2) + pow(p1[1] - p4[1], 2));
double p2p3 = sqrt(pow(p2[0] - p3[0], 2) + pow(p2[1] - p3[1], 2));
double p2p4 = sqrt(pow(p2[0] - p4[0], 2) + pow(p2[1] - p4[1], 2));
double p3p4 = sqrt(pow(p3[0] - p4[0], 2) + pow(p3[1] - p4[1], 2));
// p1,p2 is against
if (p1p3 == p1p4 && p2p3 == p2p4 && p1p3 == p2p3) {
return abs(p1p3 * sqrt(2) - p1p2) <= epsilon;
}
// p1, p3 is against
if (p1p2 == p1p4 && p2p3 == p3p4 && p1p2 == p2p3) {
return abs(p1p2 * sqrt(2) - p1p3) <= epsilon;
}
// p1,p4 is against
if (p1p2 == p1p3 && p2p4 == p3p4 && p1p2 == p2p4) {
return abs(p1p2 * sqrt(2) - p1p4) <= epsilon;
}
return false;
}
};
边栏推荐
- 基于flask实现的mall商城---用户模块
- 解决idea在debug模式下变得非常慢的问题
- What is kubernetes custom resource definition (CRD)?
- 黑马四小时入门学习记录-3|网络应用
- 深入理解C# 进入快速通道的委托
- Deep understanding of c # nullable types
- QML(二):设置自定义窗体
- HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
- [image detection] Research on cumulative weighted edge detection method based on gray image, with matlab code
- 2022年企业直播行业发展洞察
猜你喜欢

Similarities and differences of QWidget, qdialog and qmainwindow

报表查询字段集sql摘记

How to use "copy – link" to accelerate docker to build and optimize cache

AI model risk assessment Part 2: core content

Kubernetes基本概念

HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界

Self collection online computer wallpaper PHP source code v2.0 adaptive end

QML(一):自定义圆角按钮的处理

递归-八皇后问题

CSDN TOP1“一个处女座的程序猿“如何通过写作成为百万粉丝博主
随机推荐
HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
AMH6.X升级到AMH7.0后,登录后台提示MySQL连接出错怎么解决?
基础架构之分布式配置中心
Design and implementation of gbase8s Informix dodker high availability cluster self recovery cluster startup command oninitdb
【图像检测】基于灰度图像的积累加权边缘检测方法研究附matlab代码
HMS Core Discovery第16期回顾|与虎墩一起,玩转AI新“声”态
共建共享数字世界的根:阿里云打造全面的云原生开源生态
微信发红包测试用例
幸运抽奖系统带后台源码
DNS protocol, ICMP protocol, NAT technology
On CompareTo method in string
Alluxio为Presto赋能跨云的自助服务能力
Is this it?TypeScript actually not difficult!(recommended collection)
自采集在线电脑壁纸php源码v2.0自适应端
How to use "copy – link" to accelerate docker to build and optimize cache
游戏合作伙伴专题:BreederDAO 与《王国联盟》结成联盟
Based on the flask to write a small shopping mall project
[image processing] image skeleton extraction based on central axis transformation with matlab code
微信怎么知道别人删除了你?批量检测方法(建群)
基于flask写的一个小商城mall项目