软件工程师招聘面试问题及答案.docxVIP

  • 1
  • 0
  • 约6.89千字
  • 约 19页
  • 2026-04-08 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年软件工程师招聘面试问题及答案

一、编程能力测试(共5题,每题10分,总分50分)

1.题目(10分):

编写一个函数,实现将任意字符串中的所有相邻重复字符合并为一个字符。例如,输入`aabccddd`,输出`acdd`。要求使用Python语言,并考虑时间复杂度。

答案:

python

defmerge_adjacent_chars(s:str)-str:

ifnots:

return

result=[s[0]]

forcharins[1:]:

ifchar!=result[-1]:

result.append(char)

return.join(result)

解析:

采用单指针遍历字符串,时间复杂度为O(n),空间复杂度为O(n)。关键在于判断当前字符是否与结果字符串的最后一个字符相同,若不同则追加。

2.题目(10分):

实现一个LRU(最近最少使用)缓存,支持`get`和`put`操作。缓存容量为固定值`capacity`。例如:

-`LRU`容量为3,执行`put(1,1)`、`put(2,2)`、`put(3,3)`、`get(2)`、`put(4,4)`(此时1和2被移除),`get(1)`返回`-1`。

答案:

python

classLRUCache:

def

文档评论(0)

1亿VIP精品文档

相关文档