首页 > 编程语言 >08天【代码随想录算法训练营34期】第四章 字符串part02(KMP)

08天【代码随想录算法训练营34期】第四章 字符串part02(KMP)

时间:2024-03-28 14:36:47浏览次数:19  
标签:aa index 前缀 后缀 08 part02 随想录 KMP ptr

KMP算法
解决字符串匹配问题

文本串aabaabaaf
模式串aabaaf
问:模式串是否在文本串中出现过?

1)暴力解法,ptr指向文本串index 0,遍历一遍发现不匹配,ptr再移向index 1,遍历……依次重复,直到ptr指向3
2)KMP算法,ptr指向文本串index 0,遍历到f发现不匹配,由于“aa”在字符串中index3和4时也出现过,因此ptr直接指向index 5

前缀表:
aabaaf的前缀指包括首字母不包括尾字母的组合: a, aa, aab, aaba, aabaa

最长相等前后缀指的是前缀和后缀相等的话,前缀/后缀长度为多少

模式串 最长相等前后缀
a 0
aa 1
aab 0
aaba 1
aabaa 2
aabaaf 0
如果从f开始不匹配(最长相等前后缀为0),那么就回到前缀后面的那个地方(也就是b),开始继续比对

标签:aa,index,前缀,后缀,08,part02,随想录,KMP,ptr
From: https://www.cnblogs.com/miramira/p/18101590

相关文章

  • 代码随想录算法训练营第六十天|● 84.柱状图中最大的矩形
    柱状图中最大的矩形题目链接:84.柱状图中最大的矩形-力扣(LeetCode)思路:掌握了……吗?还是参考了下官网思路。代码随想录(programmercarl.com)classSolution{public:intlargestRectangleArea(vector<int>&heights){intresult=0;stack<int>st;......
  • Linux C++ 008-结构体
    LinuxC++008-结构体本节关键字:Linux、C++、结构体相关库函数:基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。定义和使用语法:struct结构体名{结构体成员列表};通过结构体创建变量的方式有三种struct结构体名变量名struct结构体名变......
  • 旷场实验KT-0860——观察研究实验动物神经精神变化
    旷场是观察研究实验动物神经精神变化、进入开阔环境后的各种行为,例如动物对新开阔环境的恐惧而主要在周边区域活动,在中间区域活动较少,但动物的探究特性又促使其产生在中间区域活动的动机,也可观察由此而产生的焦虑心理。兴奋药可以明显增加自主的活动而减少探究行为,在统一些剂......
  • 最新!强烈推荐!!KT-0857大小鼠T迷宫
    大小鼠T迷宫实验是一种用于评估小鼠和大鼠认知能力的实验方法。该迷宫是一个类似字母T形的结构,被分为三个部分:起始区、正中央和两个支路。起始区与两个支路都有门,可以通过开启或关闭门来引导小鼠或大鼠前往正确的支路。通过观察小鼠或大鼠在T迷宫中的行为,研究人员可以评估其认......
  • KT-0856——大小鼠高架十字迷宫
     啮齿类动物(例如大鼠、小鼠)有探究行为,放入大小鼠高架十字迷宫后会主动探究开臂,但又惧怕开臂中高悬敞开的环境。抗焦虑能够增加开臂探究活动,致焦虑剂则相反。高架十字迷宫是进行焦虑研究的较新的方法,结果可靠。大小鼠高架十字迷宫分析系统采用视频跟踪技术完成了高架十字迷宫......
  • KT-0855——大小鼠Y迷宫
    大小鼠Y迷宫视频分析系统主要应用于动物的辨别性学习,工作记忆及参考记忆的测试。系统由三个相同的臂组成。每个臂尽头有食物提供装置,根据分析动物取食的策略即进入各的次数、时间、正确次数、错误次数、路线等参数可以反映出实验动物的空间记忆能力。相对而言,简便、可行,相对八......
  • 08天【代码随想录算法训练营34期】第四章 字符串part01(● 344.反转字符串 ● 541. 反
    **344.反转字符串**classSolution:defreverseString(self,s:List[str])->None:left=0right=len(s)-1whileleft<right:temp=s[left]s[left]=s[right]s[right]=temp......
  • 巴旦木(美国大杏仁)到2030年市场规模将接近708亿元
    一、市场趋势分析作为一种健康且多功能的坚果,巴旦木(又称美国大杏仁)在全球范围内因其营养价值和美味口感而受到消费者的青睐。随着健康食品趋势的兴起,巴旦木的需求持续增长,尤其在零食和烘焙行业中被广泛应用。二、主要竞争者概览市场上的主要竞争来自拥有强大种植和加工能力......
  • 《引流108招》第1招:挖墙脚战术
    有好项目却找不到意向客户,只能看着别人赚钱?平台引流总是违规,账号老被封?《引流108招》:108个最新最有效的,0基础小白都能学会的引流获客秘籍,帮你掌握流量密码,实现简单粗暴每日引流100+,疯狂收钱你好,我是独立开发者小黑今天我们跟大家讲一招微信体系内的引流玩法,我给它取名为"......
  • 代码随想录算法训练营第五十八天|● 739. 每日温度 ● 496.下一个更大元素 I
    每日温度 题目链接:739.每日温度-力扣(LeetCode)思路:很容易想到暴力解法。但超时也是很轻松的。classSolution{public:vector<int>dailyTemperatures(vector<int>&temperatures){//stack<int>dd;intdd=1;vector<int>result(tempe......