教育/培训行业面试题更新 2026-08-05
请实现一个算法,找出一个无序数组中第k大的元素,并分析其时间复杂度与空间复杂度。
猿辅导前端/移动开发教育/培训编码实现问题拆解
考察说明
考察对快速选择或堆排序等经典算法的理解与实现能力
回答思路
- 能提出基于快速排序思想的快速选择算法,并说明平均时间复杂度为O(n)
- 能提出基于大小为k的最小堆的解法,并说明其时间复杂度为O(n log k)
- 能正确处理k值非法或数组为空等边界情况
- 能分析不同解法的空间复杂度及适用场景
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。