测试岗位面试题更新 2026-08-05
请实现一个函数,返回无序数组中第 k 大的元素,并要求平均时间复杂度为 O(n),请写出代码并说明你的算法思路。
腾讯云智研发测试互联网/IT编码实现问题拆解技术原理
考察说明
考察快速选择算法(Quickselect)的实现与复杂度分析
回答思路
- 能正确实现快速选择算法,返回第 k 大元素
- 能说明随机化划分避免最坏情况,平均时间复杂度 O(n)
- 能处理 k 的边界条件(如 k 越界)
- 能分析最坏情况 O(n²) 及优化(随机 pivot)
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。