当前位置:网站首页>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;
}
};
边栏推荐
- c语言:来实现一个小程序n子棋(已五子棋为例)
- Starrocks technology insider: how to have both real-time update and fast query
- 【一起学Rust | 基础篇】rust函数与流程控制详解
- 【图像检测】基于灰度图像的积累加权边缘检测方法研究附matlab代码
- How to use grep to display file names and line numbers before matching lines
- 面试官培训课件(非常实用的企业内训课件)
- 一次node文件操作过多排查过程总结
- 【Untitled】
- Building and sharing the root of the digital world: Alibaba Cloud builds a comprehensive cloud-native open source ecosystem
- Self collection online computer wallpaper PHP source code v2.0 adaptive end
猜你喜欢
北京大学公开课重磅来袭!欢迎走进「AI for Science」课堂
Niuke net brush questions
TCP和UDP
共建共享数字世界的根:阿里云打造全面的云原生开源生态
Alluxio为Presto赋能跨云的自助服务能力
AI全流程开发难题破解之钥
如何对SQuAD1.1数据集进行预处理「详解版」
企业微信客户朋友圈一天可以发多少条?都有哪些限制?如何突破朋友圈可展示人数限制?
HMS Core音频编辑服务音源分离与空间音频渲染,助力快速进入3D音频的世界
Peking University open classes are coming! Welcome to the "AI for science" class
随机推荐
PL/SQL 事务
通过递归的方式实现树形结构
Proficient in audio and video development can really do whatever you want
共建共享数字世界的根:阿里云打造全面的云原生开源生态
CSDN TOP1“一个处女座的程序猿“如何通过写作成为百万粉丝博主
【Unity3D】角色控制器(CharacterController)
MySql启动、连接sqlog、主从复制、双机热备(开机时)
GDB使用详解
小笑授权系统V5.0开心版
为什么应该在开发环境中使用 Kubernetes
AI model risk assessment Part 2: core content
黑马四小时入门学习记录-2|本地应用
GBase8s Informix Dodker 高可用集群自恢复集群启动命令oninitdb的设计与实现
Pangolin库链接库问题
How to use grep to display file names and line numbers before matching lines
【图像检测】基于灰度图像的积累加权边缘检测方法研究附matlab代码
Exclusive interview | Cheng Li, chief technology officer of Alibaba: cloud + open source together form a credible foundation for the digital world
Kubernetes基本概念
ECCV 2022 | ssp: a new idea of small sample tasks with self-supporting matching
Learn weekly - 64 - a v2ex style source BBS program