测试岗位面试题更新 2026-08-05

请实现一个函数,返回无序数组中第 k 大的元素,并要求平均时间复杂度为 O(n),请写出代码并说明你的算法思路。

腾讯云智研发测试互联网/IT编码实现问题拆解技术原理

考察说明

考察快速选择算法(Quickselect)的实现与复杂度分析

回答思路

  1. 能正确实现快速选择算法,返回第 k 大元素
  2. 能说明随机化划分避免最坏情况,平均时间复杂度 O(n)
  3. 能处理 k 的边界条件(如 k 越界)
  4. 能分析最坏情况 O(n²) 及优化(随机 pivot)
本题已收录答题指导

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

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