2026年软件工程师面试试题集及解答.docxVIP

  • 1
  • 0
  • 约7.37千字
  • 约 22页
  • 2026-06-22 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年软件工程师面试试题集及解答

一、编程题(共5题,每题20分,总分100分)

题目1(20分)

请用Python实现一个函数,输入一个字符串,返回该字符串中所有唯一字符的列表。例如,输入hello,返回[h,e,l,o]。要求时间复杂度为O(n)。

python

defunique_chars(s):

你的代码

题目2(20分)

实现一个LRU(LeastRecentlyUsed)缓存类的Python版本。要求:

1.支持get和put操作

2.get操作返回缓存中键对应的值,如果不存在返回-1

3.put操作将键值对添加到缓存中,如果缓存已满则删除最久未使用的元素

4.使用哈希表和双向链表实现,时间复杂度为O(1)

python

classLRUCache:

def__init__(self,capacity):

初始化代码

defget(self,key):

实现代码

defput(self,key,value):

实现代码

题目3(20分)

给定一个包含n个整数的数组,设计一个算法找到三个数,使得它们的和最接近给定的目标值target。要求时间复杂度不超过O(n2)。

python

defthree_sum_closest(nums,target):

你的代码

题目4(20分)

实现一个

文档评论(0)

1亿VIP精品文档

相关文档