kmp算法中的next怎么求
KMP算法中的next数组表示模式串中前缀和后缀的最长公共部分长度。因此,我们需要先从模式串中生成next数组,具体求法如下:
1. 初始化next数组,next[0]=-1,next=0;
2. 设置两个指针i和j,初始时i=2,j=0;
3. 比较p[j]和p[i-1]的值:
① 如果p[j]=p[i-1],则next[i]=j+1,i++,j++;
② 如果j=0,则next[i]=0,i++;
③ 如果p[j]!=p[i-1],则将指针j移动到next[j]的位置,循环比较p[j]和p[i-1]的值,直到符合①或②两种情况为止。
4. 重复步骤3,直到i=n。
其中n为模式串的长度。
例如,对于模式串"ABCDABD",生成的next数组为[-1,0,0,0,0,1,2]。
猜你喜欢内容
-
药房装修有什么要求吗
开药店装修时需要注意以下要求:特色突出:店面设计应有明显特色,主题鲜明,以吸引顾客和路人的注意。...
-
装修镜子怎么买好看
购买装修镜子时,可以参考以下步骤和建议:根据镜子的使用场景选择合适的类型,例如浴室、卧室、客厅或...
-
藏式装修木板怎么选好
选择藏式装修木板时,可以参考以下要点:质量好的板材表面应光滑平整,无缺陷。侧面看板芯厚度是否均匀...
-
卧室太小怎么装修实例
针对卧室太小的情况,以下是一些实用的装修实例和建议:案例:面积约6.5平方米,采用定制榻榻米床的设计...
-
复式装修怎么除甲醛
复式装修后除甲醛可以采取以下几种方法:活性炭和竹炭具有较强的吸附能力,可以放置在室内各个角落,如...
-
淘宝店铺装修用什么颜色
淘宝店铺装修时,选择合适的颜色可以显著提升店铺的吸引力和用户体验。以下是一些推荐的颜色及其适用场...
-
院里有柱子怎么装修
针对院子里有柱子的装修问题,以下是一些建议:隐藏式设计:将柱子包装成衣柜或其他功能型房间,增加收...
-
大白墙怎么装修耐脏
要使大白墙更耐脏,可以采取以下几种装修策略:根据房间的光线情况选择色调。自然光充足的房间适合冷白...
-
开养生馆注意什么装修
开养生馆时,装修是一个非常重要的环节,它不仅关系到顾客的第一印象,还直接影响到养生馆的整体氛围和...
-
法院野蛮装修怎么处理
面对野蛮装修问题,可以采取以下几种处理方式:发生纠纷时,首先尝试与对方进行沟通协商,寻求双方都能...










