当前位置: 首页 > news >正文

湖北网站建设企业网站建设的目的

湖北网站建设,企业网站建设的目的,网页qq怎么登录界面,绵阳市住房和城乡建设局网站代码随想录二刷Day9 今日任务 28.找出字符串中第一个匹配项的下标 459.重复的子字符串 字符串总结 双指针总结 语言#xff1a;C KMP 链接#xff1a;https://programmercarl.com/0459.重复的子字符串.html#kmp 用处#xff1a;当出现字符串不匹配时#xff0c;可以利…代码随想录二刷Day9 今日任务 28.找出字符串中第一个匹配项的下标 459.重复的子字符串 字符串总结 双指针总结 语言C KMP 链接https://programmercarl.com/0459.重复的子字符串.html#kmp 用处当出现字符串不匹配时可以利用一部分之前已经匹配的内容节省匹配时间避免从头匹配前缀表用来回退的即记录当模式串与主串不匹配时模式串应该从哪个位置开始重新匹配记录下标i之前包括i的字符串中有多大长度的相同前缀后缀最长相等前后缀前缀指不包含最后一个字符的所有以第一个字符开头的连续子串后缀指不包含第一个字符的所有以最后一个字符结尾的连续子串前缀表要求的是相同前后缀的长度前缀表为什么可以确定匹配失败后跳到哪里重新匹配 前缀表利用的是相同前后缀所以如果在某个位置匹配失败后可以根据前缀表找到失败位置后缀对应的前缀位置直接跳到前缀相应位置重新匹配即可前缀表和next数组之间的关系 next数组可以是前缀表也可以是前缀表统一减1的结果和KMP原理无关主要是根据实现方便程度修改的时间复杂度O(mn)模式串长度为m文本串长度为n建立模式串的时间复杂度为O(m)文本串匹配的时间复杂度为O(n)next数组构造过程初始化处理前后缀不同的情况处理前后缀相同的情况更新next数组 void getNext(int* next, string s){int i 0; //i表示最大前缀长度初始化为0next[0] i;for(int j 1; j s.length(); j){ //j表示最大后缀长度从1开始//处理前后缀不同的情况while(i 0 s[i] ! s[j]){i next[i - 1];}if(s[i] s[j]){i;}next[j] i;} } }28. 找出字符串中第一个匹配项的下标 链接https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/ class Solution { public:void getNext(vectorint next, string s){int i 0;next[0] i;for(int j 1; j s.length(); j){while(i 0 s[i] ! s[j]){i next[i - 1];}if(s[i] s[j]){i;}next[j] i;}}int strStr(string haystack, string needle) {int res -1;vectorint next(needle.length());getNext(next, needle);int j 0; //needlefor(int i 0; i haystack.length(); i){ //haystackwhile(j next.size() haystack[i] needle[j]){i;j;}if(j 0 j next.size() haystack[i] ! needle[j]){j next[j - 1];i--; //这里要减1否则会错位比较推荐下面的写法}else if(j next.size()){res i - needle.length();break;}}//另一种写法/*for(int i 0; i haystack.length(); i){ //haystackwhile(j 0 j next.size() haystack[i] ! needle[j]){j next[j - 1];}if(j next.size() haystack[i] needle[j]){j;}if(j next.size()){res i - needle.length() 1;break;}}*/return res;} };459. 重复的子字符串 链接https://leetcode.cn/problems/repeated-substring-pattern/ 若一个字符串由重复子串构成则最长相等前后缀不包含的子串就是最小重复子串接下来可以根据长度关系简单判断字符串是否由重复子串构成 class Solution { public:void getNext(vectorint next, string s){int i 0;next[0] i;for(int j 1; j s.length(); j){while(i 0 s[i] ! s[j]){i next[i - 1];}if(s[i] s[j]){i;}next[j] i;}}bool repeatedSubstringPattern(string s) {vectorint next(s.length());getNext(next, s);if(next[next.size() - 1] 0) return false; //abacint len s.length() - next[next.size() - 1];if(len ! 0 s.length() % len 0) return true;return false;} };
http://www.hkea.cn/news/14342180/

相关文章:

  • 上海网站建设找哪家公司广州网站备案拍照
  • 合肥市做外贸网站的公司企业网站文章
  • 网站建设建站在线建站兰州做网站公司有哪些
  • 建设管理网站网站如何做百度实名认证
  • 服务器2003怎么做网站网易企业邮箱彻底删除的邮件还能恢复吗
  • 做外贸网站推广什么比较好站长工具手机综合查询
  • 大学生兼职网网站建设计划书西安市市政建设网站
  • 瀑布流网站有哪些wordpress怎么加站点图标
  • 织梦怎么做网站地图成品网站和模板建站
  • 网站开发付款方式和比例自助建站网
  • 如何创建网站内容在线排名优化工具
  • 崇明网站建设如何做网站里的子网站
  • 用国外服务器做网站网站搜资源的搜索引擎
  • 适合用struts2做的网站网络营销策略是什么
  • 做电影网站的资源从哪里换邢台做网站哪家便宜
  • php做网站速成软件开发一天收费多少
  • 广州好的做网站公司做贷款的网站有哪些
  • 网站收录提交入口网站建设要什么软件
  • 做网站商城需要什么条件低调赚大钱的灰色行业
  • 响应式网站有什么好处中文 wordpress插件下载
  • 品牌网站建设黑白H狼做靓号网站
  • 做本地分类信息网站赚钱吗国外产品展示网站源码
  • 优秀的图片设计网站推荐wordpress网站布局
  • 长春做个人网站做不了class wp wordpress
  • 法治建设网站模块阳澄湖大闸蟹网站建设
  • 免费网站建设一级深圳做网站排名哪家好
  • 怎么做网站端口代理帝国cms 网站名称
  • 网站建设内页徐州建设工程招标公示
  • 腾讯网qq网站做网站多少流量可以做广告
  • 零陵做网站国内主流网站开发技术