- 4
- 0
- 约6.33千字
- 约 18页
- 2026-03-20 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序员面试算法题解答
一、字符串处理(3题,每题10分,共30分)
1.题目:
给定一个由小写字母组成的字符串`s`,请找到并返回其中不重复的最长子串的长度。
示例:
输入:`s=abcabcbb`
输出:`3`(最长不重复子串为abc)
解答:
python
deflength_of_longest_substring(s:str)-int:
char_set=set()
left=0
max_len=0
forrightinrange(len(s)):
whiles[right]inchar_set:
char_set.remove(s[left])
left+=1
char_set.add(s[right])
max_len=max(max_len,right-left+1)
returnmax_len
解析:
使用滑动窗口技术,`left`和`right`分别表示窗口的左右边界。遍历字符串时,如果遇到重复字符,则移动`left`并从集合中删除字符,直到当前字符不再重复。每次更新最大长度`max_len`。时间复杂度O(n),空间复杂度O(min(m,n)),其中m为字符集大小。
2.题目:
给定两个字符串`s`和`t`,判断`t`是否为`s`的子序列。子序
原创力文档

文档评论(0)