后端岗位面试题更新 2026-08-05

给定平面上n个点,求任意两点之间的最短距离,要求算法时间复杂度为O(n log n),请设计并实现。

知乎后端开发互联网/IT编码实现问题拆解技术原理

考察说明

考察分治算法设计、复杂度分析和编码实现能力

回答思路

  1. 能够正确描述分治策略:按x坐标排序后递归划分
  2. 能正确合并:在分割线两侧宽度为d的带状区域内检查候选点对
  3. 能正确比较y坐标并只检查有限个点(通常为常数个)以保持线性合并
  4. 能分析递推式T(n)=2T(n/2)+O(n),得到O(n log n)
  5. 能处理重复点、点数小于2等边界情况
  6. 能给出正确、可运行的代码实现
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。