小红是一位热衷于探索宇宙奥秘的星际旅行者。最近,她在银河系的边缘发现了一片古老的星云,这里漂浮着许多蕴含神秘能量的“星屑”。 小红通过她的飞船雷达扫描了这片区域,将每一颗星屑的位置都映射到了一个二维平面坐标系中。根据古老的传说,当两颗星屑的距离越近,它们之间产生的“共鸣波动”就越强烈。为了寻找能量最纯净的共鸣源,小红需要找出这片区域中距离最近的两颗星屑。 为了避免处理浮点数带来的精度误差,飞船的主控电脑(也就是你)被要求计算这两颗星屑之间欧几里得距离的平方。 形式化地讲,给定平面上 n 个点的坐标,你需要找到两个点 (x_i, y_i) 和 (x_j, y_j) (其中 i ≠ j ),使得它们的距离平方 D = (x_i - x_j)^2 + (y_i - y_j)^2 最小,并输出这个最小值。
第一行包含一个整数 n ,表示星屑的数量。 接下来的 n 行,每行包含两个整数 x 和 y ,表示一颗星屑在平面上的坐标。 2 ≤ n ≤ 100,000 -100,000 ≤ x, y ≤ 100,000
输出一个整数,表示所有星屑对中,最小的距离平方值。
5 0 0 0 5 3 4 3 5 3 6
1
考点:计算几何
数据规模 n ≤ 100 | 限制 1 秒 / 256MB | 标准输入输出
参考方向:计算几何
把几何关系转成坐标运算,用整数运算避免浮点误差。
思路框架(计算几何 通法 · 非本题专属)
实现要点:叉积 cross = x1*y2 - x2*y1;用它判断顺时针/逆时针和共线。
复杂度:时间 O(n) ~ O(n²) | 空间 O(n)
该范式的通法易错点
对照本题
本题在源数据中没有官方考点标签,方向由题面特征推断,仅供参考。
样例 1:输入 5 / 0 0 / 0 5 / 3 4 / 3 5 / 3 6 → 输出 1
在样例中,最近的一对星屑坐标分别为 (3, 4) 和 (3, 5) 。
它们之间的距离平方计算如下:
(3 - 3)^2 + (5 - 4)^2 = 0^2 + 1^2 = 1
没有其他点对的距离平方小于 1。
解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2026年春招-华为-01月07号开发岗。