- 0
- 0
- 约5.12千字
- 约 16页
- 2026-10-31 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年阿里巴面试题及答案详解
一、编程题(共3题,每题20分)
1.数组中的重复数字(20分)
题目:
给定一个包含n个整数的数组,其中只有两个数字重复,其余数字均不重复。请找出这两个重复的数字。要求时间复杂度O(n),空间复杂度O(1)。
示例:
输入:[3,4,2,3,6,1]
输出:[3,4]
答案:
python
deffind_duplicates(nums):
duplicates=[]
fornuminnums:
index=abs(num)-1
ifnums[index]0:
duplicates.append(abs(num))
else:
nums[index]=-nums[index]
returnduplicates
示例
print(find_duplicates([3,4,2,3,6,1]))#输出:[3,4]
解析:
通过遍历数组,将每个数字的绝对值对应的索引位置的值取反。如果遇到已经取反的值,说明该数字重复。该方法利用了数组的空间,实现O(n)时间复杂度和O(1)空间复杂度。
2.前序遍历和中序遍历重建二叉树(20分)
题目:
给定前序遍历和中序遍历的结果,重建二叉树。假设二叉树中没有重复的数字。
示例:
前序遍历:[3,9,20
原创力文档

文档评论(0)