LeetCode:593. 有效的正方形

    技术2022-07-15  53

    class Solution { public: int dist(vector<int>p1,vector<int>p2) { return (p1[0]-p2[0])*(p1[0]-p2[0])+(p1[1]-p2[1])*(p1[1]-p2[1]); } bool validSquare(vector<int>& p1, vector<int>& p2, vector<int>& p3, vector<int>& p4) { vector<int>dis; dis.push_back(dist(p1,p2)); dis.push_back(dist(p1,p3)); dis.push_back(dist(p1,p4)); dis.push_back(dist(p2,p3)); dis.push_back(dist(p2,p4)); dis.push_back(dist(p3,p4)); sort(dis.begin(),dis.end()); //如果前四个值相等并且后两个值相等,而且第一个元素不等与最后一个元素 return dis[0]==dis[1]&&dis[1]==dis[2]&&dis[2]==dis[3]&&dis[4]==dis[5]&&dis[0]!=dis[5]; } };
    Processed: 0.015, SQL: 9