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

给定一个长度为 n 的整数数组,其中所有元素都在范围 1 到 n 之间(含 1 和 n),且每个元素最多出现两次。请找出所有出现两次的元素。要求不使用额外空间(除返回结果外),时间复杂度为 O(n)。

腾讯云智研发后端开发互联网/IT编码实现问题拆解

考察说明

考察利用元素取值与下标映射实现原地标记的算法思路

回答思路

  1. 说明元素值 1 到 n 与下标 0 到 n-1 的映射关系
  2. 使用取负或加偏移的原地标记方法区分是否已访问
  3. 正确处理重复元素只输出一次
  4. 说明算法时间复杂度和空间复杂度
  5. 处理边界情况如 n=0 或 n=1
本题已收录答题指导

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

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