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

给定一个长度为N的数组,数组中的元素为1到N-1,求数组中各个元素出现的次数,要求时间复杂度为O(n),空间复杂度为O(1)。例如:int[] arr = {2, 4, 4, 2, 3}; 输出:2有2个,3有1个,4有2个。

深圳虾皮信息科技有限公司后端开发互联网/IT编码实现问题拆解技术原理

考察说明

考察在不使用额外空间的约束下,如何通过标记法统计元素频次

回答思路

  1. 理解题目约束:O(n)时间、O(1)额外空间
  2. 说明利用数组下标作为计数空间,并通过正负号标记已访问元素
  3. 正确处理元素重复及未出现元素,能准确还原次数
  4. 能够结合示例验证算法正确性,并说明边界情况
本题已收录答题指导

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

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