ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

华为OD机试真题精讲:构成正方形的数量(Python/Java/C++多语言实现)

2026/8/7 9:58:29 拓冰建站 浏览量
华为OD机试真题精讲:构成正方形的数量(Python/Java/C++多语言实现)

华为OD机试真题精讲:构成正方形的数量(Python/Java/C++多语言实现)

一、题目描述(2025B卷高频100分题)

在一个二维平面上给定若干个整点坐标(x, y),请计算这些点中能够构成正方形的数量。正方形的边需与坐标轴平行(轴对齐正方形),且正方形的四个顶点必须全部是给定的点。

关键约束

  • 点的数量1 ≤ n ≤ 1000,坐标范围0 ≤ x, y ≤ 10^9
  • 正方形的边长必须为正整数;
  • 时间限制1秒,空间限制256MB;
  • 两个点的坐标完全相同视为同一个点,需去重处理。

示例说明

输入(点列表)输出说明
[(0,0), (0,1), (1,0), (1,1)]14个点构成1个边长为1的正方形
[(0,0), (0,1), (1,0), (1,1), (0,2), (1,2), (2,0), (2,1), (2,2)]5