工程师面试题及专业答案解析.docxVIP

  • 0
  • 0
  • 约5.5千字
  • 约 16页
  • 2026-01-27 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年工程师面试题及专业答案解析

一、编程语言与数据结构(共5题,每题10分,总分50分)

1.题目(10分):

请用Python实现一个函数,输入一个列表,返回列表中所有重复元素的集合。例如,输入`[1,2,2,3,4,4,5]`,输出`{2,4}`。

答案:

python

deffind_duplicates(lst):

seen=set()

duplicates=set()

foriteminlst:

ifiteminseen:

duplicates.add(item)

else:

seen.add(item)

returnduplicates

解析:

使用两个集合`seen`和`duplicates`,`seen`记录遍历过程中遇到的元素,`duplicates`记录重复的元素。遍历时,如果当前元素已存在于`seen`中,则添加到`duplicates`;否则,添加到`seen`。最终返回`duplicates`。

2.题目(10分):

请解释什么是“平衡二叉树”,并给出一个判断给定二叉树是否为平衡二叉树的算法。

答案:

平衡二叉树(如AVL树或红黑树)是指任一节点的左右子树高度差不超过1的二叉搜索树。判断算法如下:

python

classTreeNode:

def__init__(self,val=0,left=None,right=None):

self.val=val

self.left=left

self.right=right

defis_balanced(root):

defcheck_height(node):

ifnotnode:

return0

left_height=check_height(node.left)

right_height=check_height(node.right)

ifabs(left_height-right_height)1:

return-1

returnmax(left_height,right_height)+1

returncheck_height(root)!=-1

解析:

通过递归计算每个节点的左右子树高度差,若任何节点高度差超过1,则整棵树不平衡。`check_height`函数返回节点的高度,若高度差大于1则返回-1,否则返回最大子树高度加1。

3.题目(10分):

请实现一个LRU(最近最少使用)缓存,支持`get`和`put`操作。假设缓存容量为3。

答案:

python

classLRUCache:

def__init__(self,capacity:int):

self.capacity=capacity

self.cache={}

self.order=[]

defget(self,key:int)-int:

ifkeyinself.cache:

self.order.remove(key)

self.order.append(key)

returnself.cache[key]

return-1

defput(self,key:int,value:int)-None:

ifkeyinself.cache:

self.order.remove(key)

eliflen(self.cache)==self.capacity:

oldest_key=self.order.pop(0)

delself.cache[oldest_key]

self.cache[key]=value

self.order.append(key)

解析:

使用字典`cache`存储键值对,列表`order`记录访问顺序。`get`操作将访问的键移到列表末尾;`put`操作若键已存在则更新值并移动到末尾,若超出容量则删除最久未使用的键。

4.题目(10分):

请解释“哈希冲突”的解决方法,并说明开放寻址法和链地址法的优缺点。

答案:

哈希冲突是指两个不同键映射到同一个哈希值。解决方法包括:

1.开放寻址法:线性探测、二次探测或双重哈希。线性探测简单但容易产生聚集;二次探测减少聚集但复杂度更高。

2.链地址法:将所有哈希值相同的键存储在同一个链表中。优点是空间利用率高,缺点是冲突时链表长会影响性能。

解析:

开放寻址法通过探测下一个空闲槽解决冲突,但可能导致聚集降低效率;链地址法将冲突的键组织成链表,空间利用率高但冲突多时性能下降。

5.题目(10分):

请用C++实现快速排序算法,并说明其时间复杂度和稳定性。

答案:

cpp

inc

文档评论(0)

1亿VIP精品文档

相关文档