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

在一个包含 n 个元素的无序数组中,如何高效地找到第 k 小的元素?请说明思路并分析时间复杂度。

上海得物信息集团有限公司后端开发互联网/IT问题拆解技术原理

考察说明

考察顺序统计量算法、分治思想与复杂度分析

回答思路

  1. 能指出排序后取第 k 个的朴素方法及其 O(n log n) 复杂度
  2. 能提出基于快速排序分区的快速选择算法,并说明平均 O(n)、最坏 O(n^2) 的复杂度
  3. 能提出使用堆维护 k 个最小元素,复杂度为 O(n log k)
  4. 能回答最坏情况 O(n) 的 BFPRT(中位数中位数)算法,并理解其分区策略
本题已收录答题指导

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

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