教育/培训行业面试题更新 2026-08-05

请实现一个算法,找出一个无序数组中第k大的元素,并分析其时间复杂度与空间复杂度。

猿辅导前端/移动开发教育/培训编码实现问题拆解

考察说明

考察对快速选择或堆排序等经典算法的理解与实现能力

回答思路

  1. 能提出基于快速排序思想的快速选择算法,并说明平均时间复杂度为O(n)
  2. 能提出基于大小为k的最小堆的解法,并说明其时间复杂度为O(n log k)
  3. 能正确处理k值非法或数组为空等边界情况
  4. 能分析不同解法的空间复杂度及适用场景
本题已收录答题指导

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

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