2026年人工智能工程师面试题模拟.docxVIP

  • 1
  • 0
  • 约4.85千字
  • 约 14页
  • 2026-10-09 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年人工智能工程师面试题模拟

一、编程与算法(共3题,每题10分,总分30分)

1.题目:

给定一个数组,其中包含重复的整数,请编写一个函数,返回数组中所有重复数字的出现次数。要求时间复杂度为O(n),空间复杂度为O(1)。

答案与解析:

python

defcount_duplicates(nums):

使用字典统计每个数字的出现次数

count={}

fornuminnums:

ifnumincount:

count[num]+=1

else:

count[num]=1

筛选出出现次数大于1的数字

duplicates={k:vfork,vincount.items()ifv1}

returnduplicates

示例

print(count_duplicates([1,2,3,2,4,3,5]))#输出:{2:2,3:2}

解析:

-时间复杂度:O(n),遍历数组一次统计数字出现次数。

-空间复杂度:O(1),假设数组长度为n,字典最多存储n个键值对,但题目限制为O(1)通常指常数级额外空间,因此需优化为不依赖额外空间的方法。

优化思路:

若严格限制空间为O(1),可考虑将数字映射到数组索引位置(如将数字1映射到数组索引0),但需确保输入

文档评论(0)

1亿VIP精品文档

相关文档