- 1
- 0
- 约6.49千字
- 约 17页
- 2026-03-31 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年软件工程师面试宝典与答案解析
一、编程语言与基础算法(共5题,每题10分)
1.题目(10分):
请用Python实现一个函数,输入一个非空字符串,返回该字符串中所有唯一字符的集合。例如,输入`abracadabra`,输出`{a,b,r,c,d}`。要求时间复杂度为O(n)。
2.题目(10分):
用Java实现快速排序算法(QuickSort),并说明其时间复杂度和适用场景。
3.题目(10分):
给定一个链表,删除其中的重复元素,使每个元素只出现一次。例如,输入`[1,2,2,3,3,4]`,输出`[1,2,3,4]`。要求不使用额外空间。
4.题目(10分):
用C++实现二叉树的深度优先遍历(DFS),包括前序、中序和后序遍历。
5.题目(10分):
解释什么是“时间复杂度”和“空间复杂度”,并举例说明O(n2)和O(logn)的算法。
答案与解析
1.答案(Python):
python
defunique_chars(s:str)-set:
char_set=set()
forcharins:
char_set.add(char)
returnchar_set
示例
print(unique_chars(abracadabra))#输出:{a,
原创力文档

文档评论(0)