百度技术专家面试题及答案.docxVIP

  • 1
  • 0
  • 约4.62千字
  • 约 15页
  • 2026-02-10 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年百度技术专家面试题及答案

一、编程题(3题,每题15分,共45分)

1.题1(15分):字符串匹配算法实现

题目:

请实现一个字符串匹配算法,输入两个字符串`text`和`pattern`,返回`pattern`在`text`中首次出现的起始索引。要求实现两种算法:

(1)朴素暴力匹配算法;

(2)KMP(Knuth-Morris-Pratt)算法。

示例:

plaintext

text=ABABDABACDABABCABAB,pattern=ABABCABAB

输出:10

要求:

-时间复杂度:朴素暴力O(nm),KMPO(n);

-写出代码实现,并简要说明KMP算法的核心思想。

答案与解析:

(1)朴素暴力匹配算法:

python

defbrute_force_match(text,pattern):

n,m=len(text),len(pattern)

ifm==0:

return0

foriinrange(n-m+1):

j=0

whilejmandtext[i+j]==pattern[j]:

j+=1

ifj==m:

returni

return-1

核心思想:

逐个比较`text`中的子串与`pattern

文档评论(0)

1亿VIP精品文档

相关文档