首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
在主串T=”babbabbacbabbac”中,我们要寻找子
[单选题]
在主串T=”babbabbacbabbac”中,我们要寻找子串S=”babbac”,为了找到这个子串,我们采用了KMP算法,请问
到匹配成功时为止总共
进行了多少次单字符的比较?
10
12
14
16
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(29)
分享
纠错
1个回答
添加回答
5
mhz931
从babbabbacbabbac中用kmp算法找到babbac:
1)计算LPS(longest prefix suffix,即词中最长的同时作为前缀和后缀的短词的长度)
对于例子中的 babbac, LPS = [0, 0, 1, 1, 2, 0] (如LPS[1] = 0, 因为ba中没有LPS; LPS[4] = 2,因为babba中LPS为ba, LPS[0]预设为0)(这一段是不算在匹配的步骤中的)
2)开始计算:
babbabbacbabbac
babba
c
(第5位错误,从第LPS[5-1] = 2位继续匹配)
bbac(成功)
因此总共单字符对比次数为10。
发表于 2025-04-16 19:12:42
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
查找
难度:
1条回答
29收藏
296浏览
热门推荐
相关试题
在一个医疗诊断的场景中,你使用随机...
机器学习
评论
(1)
在使用 K-近邻(k-NN)算法解...
机器学习
评论
(1)
在读多写少的场景中,需要一个 ma...
Go
评论
(1)
关于索引失效的场景,以下描述正确的是:
SQL
评论
(1)
在分析产品销售趋势时,开发者发现一...
SQL
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题