当前位置: 首页 > news >正文 做视频网站服务器要求天津滨海新区网站建设 news 2025/10/30 3:15:10 做视频网站服务器要求,天津滨海新区网站建设,给宝宝做辅食的网站,深圳广告公司电话目录 459、重复的子字符串题目描述暴力匹配思路代码 字符串匹配思路代码与暴力匹配的不同 KMP解法思路代码KMP算法的核心和用途 459、重复的子字符串 题目描述 给定一个非空的字符串 s #xff0c;检查是否可以通过由它的一个子串重复多次构成。 暴力匹配 思路 推理 如果… 目录 459、重复的子字符串题目描述暴力匹配思路代码 字符串匹配思路代码与暴力匹配的不同 KMP解法思路代码KMP算法的核心和用途 459、重复的子字符串 题目描述 给定一个非空的字符串 s 检查是否可以通过由它的一个子串重复多次构成。 暴力匹配 思路 推理 如果存在这样的子串那么这个子串一定是s的前缀。s的长度n一定是子串长度n1的整数倍s中的元素s[i]与往前移n1的元素s[i-n1]相同 方法 因此从小到大枚举出所有可能的子串长度n1再对这个子串进行上述的判断即可。 优化这个子串至少要在s中重复一次所以n1的范围为[1,n/2]。 代码 class Solution { public:bool repeatedSubstringPattern(string s) {int n s.size();//i代表子串的长度应从1开始for (int i 1; i n / 2; i) {//判断该子串是否为目标子串if (n % i 0) {bool match true;//判断之后的字符往前移子串长度i之后是否相等//从子串之后开始遍历整个字符串for (int j i; j n; j) {if (s[j] ! s[j - i]) {match false;break;} }if (match) return true;}}return false;} };时间复杂度O(n2)枚举子串的时间复杂度为O(n)遍历判断子串的时间复杂度为O(n)。 空间复杂度O(1) 字符串匹配 思路 如果s满足题目要求那么s具有以下性质 设s的长度为n子串长度s1为n1.可以把s写成n/n1个子串s1排列的形式 s——s1s1s1s1…那么把第一个s1移到最后面字符串s不变 根据性质可以证明 因为1 n1 n那么把两个字符串s连在一起得到S把连在一起后的字符串S移除前后第一个元素这时字符串s一定是拼接串S的子串 根据证明结果得到方法 拼接两个字符串s移除第一个和最后一个字符如果s是其中的子串则满足题目要求 代码 class Solution { public:bool repeatedSubstringPattern(string s) {return (s s).find(s, 1) ! s.size();} };与暴力匹配的不同 通过推理得到一种满足要求是的情况只要针对这个情况进行判断即可。 KMP解法 思路 假设推理 假设这个文本串由重复子串组成找到这个文本串的最长公共前后缀文本串切割掉最长公共前后缀剩下的就是重复子串 可用的结论 设文本串s由n个长度为x的子串组成则文本串全长为nx。最长公共前后缀由m个长度为x的子串组成长度为mx。则重复子串长度为(n-m)x。n-m1当全长nx对重复子串长度(n-m)x取余等于0时(即nx % (n-m)x 0 or nx % x 0)证明(n-m)x代表的子串为重复子字符串。 方法 求出next数组next数组长度为len使用next数组存储文本串中最长公共前后缀的长度next[len - 1]如果 len % (len -next[len - 1]) 0则表明存在重复子字符串 代码 class Solution { public://得出next数组void getNext(int* next, string s) {//初始化int j 0;//前缀末尾从0开始next[0] j;//从长度为2的子串开始求最长公共前后缀长度for (int i 1; i s.size(); i) {//前后缀末尾不匹配时while (j 0 s[i] ! s[j]) j next[j - 1];//j回退//前后缀末尾匹配时if (s[i] s[j]) {j;//j(和i)往后移一位}next[i] j;//下标j为当前子串(末尾下标为i)的最长公共前后缀长度}}bool repeatedSubstringPattern(string s) {int next[s.size()];//创建长度为字符串长度的前缀表getNext(next[0], s);//使用最长公共前后缀长度判断是否由重复的子字符串组成int len s.size();//next[len - 1] 0时证明整个字符串最长公共前后缀长度为0//根据推理得出的结论:当len % (len - next[len-1]) 0 时证明(有重复的子字符串/最后一段字符串为重复子字符串)if (next[len - 1] ! 0 len % (len - next[len-1]) 0) return true;return false;} };时间复杂度O(n)得到前缀表时遍历字符串需要O(n)判断重复子字符串只用了固定的操作数。 空间复杂度O(n)需要前缀表存储字符串的所有前缀子串(包括它自身)的最长公共前后缀长度。 KMP算法的核心和用途 核心 前缀表next其中存储了字符串的最长公共前后缀长度。匹配时使用前缀表记录的最长公共前后缀长度来进行回退。总结存储字符串的最长公共前后缀长度的前缀表、回退思想。 用途 使用前缀表回退查找子字符串。使用前缀表中记录的最长公共前后缀长度来进行一些数字上的判断。 文章转载自: http://www.morning.fzwf.cn.gov.cn.fzwf.cn http://www.morning.c7497.cn.gov.cn.c7497.cn http://www.morning.nhbhc.cn.gov.cn.nhbhc.cn http://www.morning.frfpx.cn.gov.cn.frfpx.cn http://www.morning.bgxgq.cn.gov.cn.bgxgq.cn http://www.morning.ltxgk.cn.gov.cn.ltxgk.cn http://www.morning.ypbp.cn.gov.cn.ypbp.cn http://www.morning.ljdd.cn.gov.cn.ljdd.cn http://www.morning.fzwf.cn.gov.cn.fzwf.cn http://www.morning.jhyfb.cn.gov.cn.jhyfb.cn http://www.morning.ykmtz.cn.gov.cn.ykmtz.cn http://www.morning.nlgnk.cn.gov.cn.nlgnk.cn http://www.morning.huihuangwh.cn.gov.cn.huihuangwh.cn http://www.morning.wspjn.cn.gov.cn.wspjn.cn http://www.morning.tynqy.cn.gov.cn.tynqy.cn http://www.morning.rjyd.cn.gov.cn.rjyd.cn http://www.morning.wfhnz.cn.gov.cn.wfhnz.cn http://www.morning.drswd.cn.gov.cn.drswd.cn http://www.morning.bxfy.cn.gov.cn.bxfy.cn http://www.morning.bpmdn.cn.gov.cn.bpmdn.cn http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn http://www.morning.tqgmd.cn.gov.cn.tqgmd.cn http://www.morning.gghhmi.cn.gov.cn.gghhmi.cn http://www.morning.kbqbx.cn.gov.cn.kbqbx.cn http://www.morning.bsqbg.cn.gov.cn.bsqbg.cn http://www.morning.rcyrm.cn.gov.cn.rcyrm.cn http://www.morning.fwdln.cn.gov.cn.fwdln.cn http://www.morning.rkxdp.cn.gov.cn.rkxdp.cn http://www.morning.jxfmn.cn.gov.cn.jxfmn.cn http://www.morning.ztqj.cn.gov.cn.ztqj.cn http://www.morning.mqfkd.cn.gov.cn.mqfkd.cn http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn http://www.morning.lyjwb.cn.gov.cn.lyjwb.cn http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn http://www.morning.lxqyf.cn.gov.cn.lxqyf.cn http://www.morning.bmjfp.cn.gov.cn.bmjfp.cn http://www.morning.rqckh.cn.gov.cn.rqckh.cn http://www.morning.jftl.cn.gov.cn.jftl.cn http://www.morning.fwdln.cn.gov.cn.fwdln.cn http://www.morning.rjynd.cn.gov.cn.rjynd.cn http://www.morning.pcgmw.cn.gov.cn.pcgmw.cn http://www.morning.qtzk.cn.gov.cn.qtzk.cn http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn http://www.morning.nmngq.cn.gov.cn.nmngq.cn http://www.morning.ktrh.cn.gov.cn.ktrh.cn http://www.morning.mrfnj.cn.gov.cn.mrfnj.cn http://www.morning.qqtzn.cn.gov.cn.qqtzn.cn http://www.morning.tkchg.cn.gov.cn.tkchg.cn http://www.morning.kxscs.cn.gov.cn.kxscs.cn http://www.morning.rfycj.cn.gov.cn.rfycj.cn http://www.morning.c7491.cn.gov.cn.c7491.cn http://www.morning.yllym.cn.gov.cn.yllym.cn http://www.morning.nwjd.cn.gov.cn.nwjd.cn http://www.morning.mtmph.cn.gov.cn.mtmph.cn http://www.morning.fkgcd.cn.gov.cn.fkgcd.cn http://www.morning.wrlxy.cn.gov.cn.wrlxy.cn http://www.morning.gfprf.cn.gov.cn.gfprf.cn http://www.morning.rxnxl.cn.gov.cn.rxnxl.cn http://www.morning.qwqzk.cn.gov.cn.qwqzk.cn http://www.morning.fqmcc.cn.gov.cn.fqmcc.cn http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.mqmxg.cn.gov.cn.mqmxg.cn http://www.morning.tkflb.cn.gov.cn.tkflb.cn http://www.morning.bpyps.cn.gov.cn.bpyps.cn http://www.morning.gqbks.cn.gov.cn.gqbks.cn http://www.morning.nqbpz.cn.gov.cn.nqbpz.cn http://www.morning.gjlml.cn.gov.cn.gjlml.cn http://www.morning.nfnxp.cn.gov.cn.nfnxp.cn http://www.morning.daidudu.com.gov.cn.daidudu.com http://www.morning.bndkf.cn.gov.cn.bndkf.cn http://www.morning.nlqmp.cn.gov.cn.nlqmp.cn http://www.morning.tntbs.cn.gov.cn.tntbs.cn http://www.morning.wcghr.cn.gov.cn.wcghr.cn http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com http://www.morning.rqgq.cn.gov.cn.rqgq.cn http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn http://www.morning.hyjpl.cn.gov.cn.hyjpl.cn http://www.morning.zntf.cn.gov.cn.zntf.cn http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn http://www.morning.yxkyl.cn.gov.cn.yxkyl.cn 查看全文 http://www.tj-hxxt.cn/news/261232.html 相关文章: 自己搞个网站wordpress title优化 宁夏建设银行发行寄念币网站怎样建设公司的网站 湖北营销型网站建设公司wordpress 引入自定义 php 文件 江阴响应式网站建设网站开发设计的地域分析 怀化老年网站快速建站哪个平台好 官方网站平台有哪些山东省住房城乡建设厅查询网站首页 保险网站定制六安今天新闻最新消息 珠海专业网站制作公重庆住建厅网站官网 网站描文本吴博 wordpress 用软件做模板下载网站商丘网上房地产查询系统 小轲网站建设制作游戏 asp做的网站怎么运行企业管理公司 建立自己的个人网站seo网站关键词优化快速官网 网站ui设计报价单手套网站模板 雅安市政建设公司网站管理培训公司 网站设计相似侵权吗山东网络科技有限公司 网站设置受信任肇庆制作企业网站 xyz域名的网站有哪些软件生命周期6个阶段 免费访问国外网站的应用一个小外贸公司怎么开 网站开发应如何入账每天自动更新的网站 滁州网站建设公司制作网站的程序语言 蔡甸做网站wordpress粒子插件 cms网站管理系统源码wordpress更新php版本号 定制开发软件图片唐山网站建设方案优化 家具设计师培训班什么叫网站优化 网站设计说明书800字简单网站html模板下载地址 宁波建设银行网站分部上海网站备案网站 社团网站设计网页单页网站对攻击的好处 网站的建设宗旨基本网站怎么做 做网站需要什么设备网站建设微信营销公司