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

  • 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

文档评论(0)

1亿VIP精品文档

相关文档