- 0
- 0
- 约4.94千字
- 约 16页
- 2026-02-09 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年工程师面试题库及答案解析
编程语言与数据结构(15题,共75分)
1.题目(10分):
请用Python实现一个函数,输入一个字符串,返回该字符串中所有重复字符及其出现次数。例如,输入hello,输出应为`{l:2,o:1}`。要求时间复杂度为O(n)。
答案:
python
defcount_duplicates(s):
count={}
forcharins:
count[char]=count.get(char,0)+1
return{char:cntforchar,cntincount.items()ifcnt1}
解析:
使用哈希表(字典)统计字符频率,遍历字符串一次(O(n)),最后筛选重复字符。Python的`get`方法可优化查找操作。
2.题目(15分):
给定一个链表,实现一个函数将其反转。例如,输入`1-2-3-None`,输出`3-2-1-None`。要求原地反转,不使用额外空间。
答案:
python
classListNode:
def__init__(self,val=0,next=None):
self.val=val
self.next=next
defreverse_list(head):
prev=None
current=head
whilecurrent:
next_node=current.next
current.next=prev
prev=current
current=next_node
returnprev
解析:
通过迭代修改节点指针,每次将`next`指向前一个节点,直到全部反转。时间复杂度O(n),空间复杂度O(1)。
3.题目(10分):
请解释快速排序的工作原理,并说明其时间复杂度和适用场景。
答案:
快速排序采用分治法:
1.选择基准值(pivot),通常为第一个或最后一个元素;
2.分区操作,将数组分为小于基准和大于基准的两部分;
3.递归对子区间重复上述步骤。
时间复杂度:平均O(nlogn),最坏O(n2);适用场景:随机或部分有序数据,原地排序。
解析:
关键在于分区效率,但最坏情况需优化(如随机选择基准值)。
4.题目(15分):
实现一个二叉树的深度优先遍历(前序、中序、后序),要求用递归和迭代两种方式完成。
答案:
python
classTreeNode:
def__init__(self,val=0,left=None,right=None):
self.val=val
self.left=left
self.right=right
递归前序
defpreorder_recursive(root):
ifnotroot:
return[]
return[root.val]+preorder_recursive(root.left)+preorder_recursive(root.right)
迭代前序
defpreorder_iterative(root):
ifnotroot:
return[]
stack,res=[root],[]
whilestack:
node=stack.pop()
res.append(node.val)
ifnode.right:
stack.append(node.right)
ifnode.left:
stack.append(node.left)
returnres
解析:
递归利用函数栈,迭代使用显式栈模拟。中序和后序类似,但节点处理顺序不同。
5.题目(10分):
什么是平衡二叉树?请以AVL树为例说明其调整机制。
答案:
平衡二叉树是任意节点左右子树高度差不超过1的BST。AVL树通过旋转调整:
-左左/右右:单旋转(LL旋转/RR旋转);
-左右/右左:双旋转(LR旋转/RL旋转)。
解析:
插入后通过检查平衡因子(高度差)决定旋转类型,保证O(logn)查找性能。
6.题目(15分):
请实现一个LRU(LeastRecentlyUsed)缓存,支持get和put操作,容量为3。例如:
-put(1,1)→{1:1}
-get(1)→1
-put(2,2)→{1:1,2:2}
-get(2)→2
-put(3,3)→{1:1,2:2,3:3}
-get(1)→-1(过期)
答案:
python
classLRUCache:
def__init__(self,capacit
您可能关注的文档
- 测试主管的职责与权限说明.docx
- 2026年全媒体记者职业能力考察题目.docx
- 电子商务师职业资格认证考试重点含答案.docx
- 2026年汽车零部件质量管理的面试问题及答案.docx
- 2026年环境工程师污染治理面试题及答案.docx
- 媒体关系专员面试题集.docx
- 汽车制造企业质量风险控制面试题.docx
- 财务分析师面试题集与解答详解.docx
- 商业策划专员专业测试题库.docx
- 2026年汽车工程师面试指南及参考题目.docx
- 旅游电子商务 课件全套 项目1--5 旅游电子商务认识---旅游电子商务推广.pptx
- 《钢结构焊接》 课件 学习任务三 牛腿焊接 .PPTX
- 三维设计 数学 选择性必修 第三册 (配人教A版) 课件 8.3 列联表与独立性检验.ppt
- 《工业机器人系统装调学生用书》参考答案.pdf
- 数字集成电路——从经典物理到智能设计 教学大纲.docx
- 《铸钢构件焊接》 课件 学习任务2 垃圾箱滑移臂焊接.pptx
- 工业机器人应用(FANUC) 课件全套 项目1--7 走进机器人数控加工--- 机器人数控进行加工典型工件.pptx
- 《三维设计 生物学 选择性必修3(配人教版)》课件 第3节 基因工程的应用.ppt
- 薪酬管理第7版数字 课件汇总 第01--6章 薪酬与薪酬管理基础---薪酬结构.pptx
- 《铸钢构件焊接》 课件全套.pptx
原创力文档

文档评论(0)