2026年软件工程师面试技能测试题三.docxVIP

  • 1
  • 0
  • 约6.86千字
  • 约 19页
  • 2026-07-14 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年软件工程师面试技能测试题三

一、编程实现题(共3题,每题15分,合计45分)

题目1(15分):

题目描述:

实现一个函数,输入一个字符串,返回该字符串中所有唯一字符的列表。要求:

1.忽略大小写,但保留原始字符顺序;

2.时间复杂度不超过O(n),空间复杂度不超过O(1)。

示例:

输入:aAbBcC→输出:[a,A,b,B,c,C]

输入:aaabbc→输出:[b,c]

答案与解析:

python

defunique_chars(s):

seen=set()

result=[]

forcharins:

lower=char.lower()

iflowernotinseen:

seen.add(lower)

result.append(char)

returnresult

示例测试

print(unique_chars(aAbBcC))#[a,A,b,B,c,C]

print(unique_chars(aaabbc))#[b,c]

解析:

1.使用`seen`集合记录已遍历的小写字符,确保唯一性;

2.保留原始字符顺序通过按顺序添加到`result`列表;

3.时间复杂度O(n)因单次遍历;空间复杂度O(1)因集合最多存储26个小写字母。

文档评论(0)

1亿VIP精品文档

相关文档