- 4
- 0
- 约6.77千字
- 约 19页
- 2026-03-31 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年百度算法工程师面试经验及答案解析
一、编程能力测试(5题,每题20分,共100分)
1.(20分)字符串处理:最长公共子串问题
题目:
给定两个字符串`str1`和`str2`,请编写一个函数,找出它们的最长公共子串,并返回该子串的长度。子串是指连续的字符序列。
示例:
输入:`str1=abcdefg`,`str2=zcdmef`
输出:`3`(最长公共子串为cde)
答案:
python
deflongest_common_substring(s1,s2):
m,n=len(s1),len(s2)
dp=[[0](n+1)for_inrange(m+1)]
max_len=0
end_idx=0
foriinrange(1,m+1):
forjinrange(1,n+1):
ifs1[i-1]==s2[j-1]:
dp[i][j]=dp[i-1][j-1]+1
ifdp[i][j]max_len:
max_len=dp[i][j]
end_idx=i
else:
dp[i][j]=0
returnmax_len
示例测试
print(longest_common_substring(abcde
原创力文档

文档评论(0)