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

南京成旭通网站建设公司怎么样百度平台投诉人工电话

南京成旭通网站建设公司怎么样,百度平台投诉人工电话,西安有做网站的吗,做类似电影天堂的网站违法吗KMP目录 KMP 基础知识构建前缀表使用前缀表减少运算步骤 28. 找出字符串中第一个匹配项的下标459. 重复的子字符串 KMP 基础知识 奇乐编程学院 https://www.bilibili.com/video/BV1AY4y157yL/?spm_id_from333.1391.0.0 代码随想录 https://www.bilibili.com/video/BV1PD4y1o7…

KMP目录

  • KMP 基础知识
    • 构建前缀表
    • 使用前缀表减少运算步骤
  • 28. 找出字符串中第一个匹配项的下标
  • 459. 重复的子字符串

KMP 基础知识

奇乐编程学院
https://www.bilibili.com/video/BV1AY4y157yL/?spm_id_from=333.1391.0.0
代码随想录
https://www.bilibili.com/video/BV1PD4y1o7nd?spm_id_from=333.788.videopod.sections&vd_source=9e875f3cfd35b93ea904ffd5c3c157a5
一个人能走的多远不在于他在顺境时能走的多快,而在于他在逆境时多久能找到曾经的自己。
————KMP

(复制的B站评论)

概述:使用前缀表来代替重复比较。
kmp算法关键在于:在当前对文本串和模式串检索的过程中,若出现了不匹配,如何充分利用已经匹配的部分。
主要步骤:

  1. 构建前缀表
  2. 遍历字符串,利用前缀表进行更新

构建前缀表

前缀不包含尾字母,一定包含首字母的所有子串。
后缀不包含首字母,一定包含尾字母的所有字串。
在构建前缀表的时候就使用了KMP思想。
在这里插入图片描述
在这里插入图片描述

使用前缀表减少运算步骤

前面i,j都是在同一个字符串下。求重复子串的时候,
KMP算法遇到不匹配的地方,可以直接跳到上一次匹配的地方继续匹配。
在这里插入图片描述

在这里插入图片描述

28. 找出字符串中第一个匹配项的下标

就是存在问题的基础上,如果遍历过程中遇到j==needle.size();直接返回return i-needle.size()+1;
下面注释了一个双指针法,两个指针遍历两个字符串,在没接触KMP时候写的。

class Solution {
public:void build_next(vector<int>& next, string s){next[0] = 0;int j = 0;//前缀的末尾for(int i = 1; i < s.size(); i ++){ //i后缀的末尾,就是表示这个子串的结束while(j>0 && s[i]!=s[j]){j = next[j-1];}if(s[i] == s[j]){j++;}next[i] = j;}}int strStr(string haystack, string needle) {if (needle.empty()) return 0;vector<int> next(needle.size());build_next(next, needle);int j = 0;for(int i = 0; i < haystack.size(); i++){while(j>0 && haystack[i]!=needle[j]){j = next[j-1];}if(haystack[i] == needle[j]){j++;}if(j == needle.size()) return i-needle.size()+1;}return -1;}
};// for(int i=0; i < haystack.size(); i++){//     int left = 0;//     if(needle[left]==haystack[i]){//         int right = i+1;//         left++;//         while(left<needle.size()){//             if(needle[left]!=haystack[right]) break;//             left++;//             right++;//         }//         if(left == needle.size()) return i;//     }// }// return -1;

459. 重复的子字符串

在这里插入图片描述

在这里插入图片描述

class Solution {
public:void build_next(vector<int>& next, string s){int j = 0;next[0] = 0;//初始化for(int i = 1; i < s.size(); i++){while(s[i]!=s[j] && j>0){j = next[j-1];//跳跃到下一个要比较的地方}if(s[i]==s[j]) next[i] = ++j;}}bool repeatedSubstringPattern(string s) {int n = s.size();vector<int> next(n);build_next(next, s);int len = next[n-1];return len > 0 && n % (n - len) == 0;}
};
http://www.dtcms.com/wzjs/200536.html

相关文章:

  • 浙江做网站找谁网络推广平台大全
  • wordpress防止cc攻击宁波seo公司排名
  • 捕鱼游戏在哪做网站国际免费b站
  • 赣州营销网站建设申请网站怎样申请
  • 辽宁平台网站建设公司广州seo成功案例
  • 装修网站制作设计价格费用网上找客户有什么渠道
  • 网站排名优化平台产品怎样推广有效
  • 东莞做网站哪家公司好百度快照功能
  • 简单网站首页怎么做合肥seo排名公司
  • 百度验证网站有什么用seo怎么发布外链
  • 贵阳平台网站建设黄桃图片友情链接
  • WordPress影视站源码互联网十大企业
  • 江苏鑫圣建设工程有限公司网站百度一下百度首页官网
  • 网站如何做优化一套完整的运营方案
  • 贵阳网站建设哪家好方舟众志seo
  • 郑州网站建设微信小程序广州专业seo公司
  • 做美食网站的项目背景百度电商广告代运营
  • 雅安移动网站建设aso优化师工作很赚钱吗
  • 网站备案信息管理陕西网络推广介绍
  • 站内优化包括哪些商品推广软文范例300字
  • 如果一个网站的域名是百度搜索风云榜
  • 有没有做游戏评测的网站百度一下全知道
  • v9双语版网站怎么做百度搜索页
  • 音乐相册制作网站seo博客优化
  • 自媒体科技资讯wordpress主题搜索引擎优化的基本方法
  • 网站内套网站代码网站免费软件
  • 网站功能需求文档seo还有哪些方面的优化
  • 西峡网站优化软文代写新闻稿
  • 投资 公司 网站模板搭建网站基本步骤
  • 系统网站建设ppt模板百度网盘客户端下载