二.831(KMP)字符串详解

news2024/12/23 3:35:38

ne[3]枚举2次 

ne[4],枚举3次

ne[5],枚举4次]b在后面了,就一个b就不可能在前面了]b舍弃

ne[6],枚举i-1次]一眼看最长相等前后缀,就是aab,aab

ne[7],aaba,aaba

ne[8],枚举i-1次]aabaa,aabaa

同理

怎么快速看呢!我想把b给夹起来]把中间夹的数越多就多

其实

加的有规律,最多加一

减的规律,例ne[9]不匹配了,返回ne[8]找匹配里的aabaa再找  最长相等前后缀为2.

                                        aabaa长度5,找ne[5]=2所以是2        

代码

两个指针

第一行:p[2]=p[1]相等了,j=1]两个p分别代表i,j两个指针

第二行:

第三行:ne[2]=1

第一行:p[3]与p[2]不等,j=0空了

第二行:

第三行:ne[3]=0

第一行:

第二行:p[4]与p[1]相等,j=1

第三行:ne[4]=1

循环4次后ne[5]=2,ne[6]=3,ne[7]=4,

第一行:

第二行:p[5]与p[2]相等,j加到5

第三行:ne[8]=5

第一行:回调到这个前缀的末尾第二个a,j=ne[5]=2

再做while,a[9]不等于a[3],j=ne[2]=1

第二行:相等了,j=2

第三行:ne[9]=2

也可以这样

最长相等前后缀为5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1180349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

移动硬盘无法识别怎么办?有哪些免费的读写硬盘工具

在日常生活中,我们都习惯于把移动硬盘作为常用的存储介质,用来储存一些文档资料。那么,如果遇上硬盘无法读取的问题,我们又该如何是好呢? 其实硬盘无法读取的问题还是比较常见的,通常有以下几种处理方法&a…

QT 实现两款自定义的温度计/湿度控件

文章目录 0 引入1、带有标尺的温度/湿度计控件1.头文件2.核心代码 2、竖起来的温度/湿度计控件1.头文件2.实现 3、引用 0 引入 QT原生控件没有实现如仪表盘或者温度计的控件,只好自己实现,文章代码部分参考引用的文章。直接上图 图一 带有标尺的温度计…

unity打AB包,AssetBundle预制体与图集(二)

第二步:加载AB包的资源,用于显示 using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; using UnityEngine.Networking; using UnityEngine.U2D; using UnityEngine.UI;public class GameLaunch : MonoBe…

B - Little Tiger vs. Deep Monkey

思路: (1)条件:n道单选题,分值不一定相同,选对或者错,A,B分别做题,得分多者胜; (2)问题:A至少做对几道题才能保证获胜概率达到50%&a…

web前端js基础------制作滚动图片

1,要求 通过定时器使其出现滚动的效果 可以通过按键控制图片滚动的方向(设置两个按钮绑定点击事件) 当鼠标悬停时图片停止,鼠标离开时图片继续向前滚动(可以设置鼠标的悬停和离开事件) 参考如下 conten…

【后端速成 Vue】初识指令(下)

前言: 上一篇初识指令(上)文章中,一共讲解了 v-html,v-show,v-if,v-else,v-else-if,v-on,v-bind 这些指令,当然,还剩不少的指令没有讲解,本问将会…

DBeaver Ultimate forMac/Win中文版:掌控数据宇宙的强大工具

在当今的数字化世界中,数据库管理软件在企业和个人的数据处理中扮演着至关重要的角色。在这篇文章中,我们将介绍一款备受赞誉的数据库管理软件——DBeaver Ultimate,它被广泛应用于各种行业和场景,帮助用户高效地管理和利用他们的…

“Redis与Spring整合及缓存优化“

文章目录 引言1. Spring整合Redis1.1. 为什么选择Redis作为缓存解决方案?Redis的特点和优势Redis与传统关系数据库的对比 1.2. Spring与Redis整合的基本步骤 2. Redis注解式缓存2.1. Spring提供的缓存注解介绍2.2. 使用注解实现方法级别的缓存 3. Redis的击穿、穿透…

系统有同类资源m个,供n个进程共享,若每个进程对资源的最大需求量为k,试问:当m,n,k的值分别为下列情况时(见下表),是否会发生死锁?

一.系统有同类资源m个,供n个进程共享,若每个进程对资源的最大需求量为k,试问:当m,n,k的值分别为下列情况时(见下表),是否会发生死锁? (1)m6;n3;k3 &#xf…

shopee买家通系统一款全自动化操作的软件

Shopee买家通系统可以批量注册虾皮买家号、自动加购加心愿单、根据关键词及产品编号搜索下单。 想要注册虾皮买家号,准备好相应国家的手机号及ip即可,准备好之后按照软件所需格式添加后即可运行自动化注册,注册时可以自动输入手机号、自动接…

linux服务器国内源安装nvm,又快又方便

国内安装nvm的话,如果你的服务器不能访问github,那么使用gitee快速安装还是很方便的: # 能方位github的话,使用这条命令 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash# 不能访问github的话…

延长千倍!美国阿贡实验室量子比特相干时间新纪录

两个具有长相干时间并强耦合的量子比特(图片来源:网络) 在书面语、口语以及信息处理领域,连贯性均是实现有效沟通的关键要素,这同样适用于量子比特。 美国能源部(DOE)下属的阿贡国家实验室所领…

计算机毕业设计java+springboot+vue的在线考试系统

项目介绍 具体在系统设计上,采用了B/S的结构,同时,也使用Java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的青少年编程在线考试系统。 开发环境 开发语言:Java 后端框架&#xff…

SpirngBoot做H5支付 JSSDK支付 为uniapp小程序提供接口 详细内容包含支付、退款以及支付退款回调 纯微信支付V2支付 最后附上完整代码

可以先看一下下面的IndexController 先理解一下需要用到哪些参数然后再从头开始准备就不会一头蒙了 完整代码: 链接: https://pan.quark.cn/s/518e02b22e4f 提取码:J6f2 可能遇到的坑: 微信支付这个的文档可以说跟没有是一样的 只写入参回…

【HMS Core】推送热门合集4

【问题描述1】 如果云端通知的category,本地通知不支持,如何处理? 【解决方案】 如果云端通知的category,本地通知不支持,或者云端通知的category的取值在分类标准中是不涉及,那么说明该类型不支持本地通…

工业物联网网关解决方案openwrt二次开发无线路由WiFi模块选型

在现今高科技快速发展的时代,无线通信技术已经成为人们日常生活中不可或缺的一部分。而在众多的无线技术产品中,基于IEEE 802.11系列协议的WiFi技术无疑是其中的主流。随着WiFi技术的广泛应用,市面上涌现出了各种各样的主控平台和WiFi模块。今…

魔众文库系统 v5.5.0 批量快捷上传,文档图标优化,档转换逻辑优化

魔众文库系统基于文档系统知识,建立平台与领域,打造流量、用户、付费和变现的闭环,帮助您更好的搭建文库系统。 魔众文库系统发布v5.5.0版本,新功能和Bug修复累计14项,批量快捷上传,文档图标优化&#xff…

JQ完成模拟QQ好友分组案例(介绍JQ实现原理)

当我们写这个案例之前&#xff0c;需要引入好JQ文件&#xff0c;以防没有效果 这个案例的需求请看以下效果图 不能重复点击&#xff0c;只有删除掉之后才可以继续点击 效果图&#xff1a; 代码介绍&#xff1a; <!DOCTYPE html> <html lang"en"><h…

【每日一题】2586. 统计范围内的元音字符串数-2023.11.7

题目&#xff1a; 2586. 统计范围内的元音字符串数 给你一个下标从 0 开始的字符串数组 words 和两个整数&#xff1a;left 和 right 。 如果字符串以元音字母开头并以元音字母结尾&#xff0c;那么该字符串就是一个 元音字符串 &#xff0c;其中元音字母是 a、e、i、o、u 。…

Python采集数据代码示例

基本的爬虫程序的示例&#xff1a; typescript import * as request from request; // 信息 const proxyHost ; const proxyPort ; // 网站的 URL const url ; // 使用 request 库发起请求 request({ url, method: GET, proxy: { host: proxyHost…