求助|华为外包机考|构成正方形的数量
1410
2025.01.19
2025.01.24
发布于 广东

看了大佬们的思路, 可以对点的集合双重for循环遍历出两个点, 然后根据这两个点计算出另外的点.

  1. 把这两个点当做正方形对角线上两个点, 则可以计算出另外两个点 (最后结果要除以2)
  2. 把这两个点当做正方形相邻边上两个点, 则可以计算出另外四个点 (最后结果要除以4)
    计算出的点如果在点集中, 则结果+1

这个思路倒是很清晰, 但是如何根据已知两个点, 计算另外的点, 才是难住我的地方😭


Leetcode类似题

简单版本: 有效的正方形

题目描述

输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方形数量。[内积为零的的两个向量垂直]

输入描述

第一行输入为N,N代表坐标数量,N为正整数。N <= 100

之后的 N 行输入为坐标x y以空格分隔,x,y为整数,-10<=x, y<=10

输出描述

输出可以构成的正方形数量。


用例

输入输出说明
3
1 3
2 4
3 1
03个点不足以构成正方形
4
0 0
1 2
3 1
2 -1
1此4点可构成正方形
评论 (12)