2026年百度算法工程师面试流程与问题解答.docxVIP

  • 1
  • 0
  • 约8.17千字
  • 约 20页
  • 2026-10-19 发布于福建
  • 举报

2026年百度算法工程师面试流程与问题解答.docx

第PAGE页共NUMPAGES页

2026年百度算法工程师面试流程与问题解答

一、编程能力测试(共5题,每题20分,总分100分)

1.(20分)字符串匹配问题

题目:

给定两个字符串`text`和`pattern`,`text`的长度为`n`,`pattern`的长度为`m`。请实现一个函数,使用KMP(Knuth-Morris-Pratt)算法返回`pattern`在`text`中第一次出现的起始索引。如果`pattern`不在`text`中,返回-1。

示例:

plaintext

text=ABABDABACDABABCABAB,pattern=ABABCABAB

输出:10

答案与解析:

python

defkmp_search(text,pattern):

ifnotpattern:

return0

构建next数组

next_arr=[0]len(pattern)

j=0

foriinrange(1,len(pattern)):

whilej0andpattern[i]!=pattern[j]:

j=next_arr[j-1]

ifpattern[i]==pattern[j]:

j+=1

next_arr[i]=j

KMP匹配过程

j=0

foriinrange(len

文档评论(0)

1亿VIP精品文档

相关文档