博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
593. Valid Square
阅读量:4258 次
发布时间:2019-05-26

本文共 1131 字,大约阅读时间需要 3 分钟。

Given the coordinates of four points in 2D space, return whether the four points could construct a square.

The coordinate (x,y) of a point is represented by an integer array with two integers.

Example:

Input: p1 = [0,0], p2 = [1,1], p3 = [1,0], p4 = [0,1]
Output: True

Note:

All the input integers are in the range [-10000, 10000].
A valid square has four equal sides with positive length and four equal angles (90-degree angles).
Input points have no order.

本题的主要思路是判断四条边是否相等,两条对角线是否相等。

int squre_dis(vector
& p1, vector
& p2){ return pow(p1[0] - p2[0], 2) + pow(p1[1] - p2[1], 2);}bool validSquare(vector
& p1, vector
& p2, vector
& p3, vector
& p4) { int d1 = squre_dis(p1, p2), d2 = squre_dis(p1, p3), d3 = squre_dis(p1, p4), d4 = squre_dis(p2, p3), d5 = squre_dis(p2, p4), d6 = squre_dis(p3, p4); if (d1 == 0 || d2 == 0 || d3 == 0 || d4 == 0 || d5 == 0 || d6 == 0) return false; set
res; res.insert(d1), res.insert(d2), res.insert(d3), res.insert(d4), res.insert(d5), res.insert(d6); if (res.size() == 2)return true; return false;}

转载地址:http://gixei.baihongyu.com/

你可能感兴趣的文章
死锁剖析
查看>>
抽丝剥茧Reactor模式
查看>>
多线程——同步-异步-阻塞-非阻塞
查看>>
多线程——临界区-锁
查看>>
多线程——java线程池简介
查看>>
多线程——Java线程池原理深入
查看>>
多线程——并发锁的集结号
查看>>
JVM——深入解析之初识
查看>>
JVM——深入解析原理和运行机制(一)类加载过程
查看>>
JVM——深入解析原理和运行机制(一)类加载器
查看>>
VB与flash的交互
查看>>
番茄工作法
查看>>
SQL Server 错误:18456。用户“sa”登录失败
查看>>
SQL Server 2008阻止保存要求重新创建表的更改的解决
查看>>
学生信息管理系统之数据库远程使用
查看>>
如何做一名优秀的程序员
查看>>
【C++】C++11新增关键字详解
查看>>
【Ubuntu】VirtualBox显卡驱动VBoxVGA、VBoxSVGA、VMSVGA +3D对播放视频的影响
查看>>
【Gstreamer】在虚拟机中无法使用硬件加速:gstreamer1.0-vaapi
查看>>
免费图标查询、下载的网站
查看>>