KMP算法———模板
做出KMP字符串匹配算法心情也是好好哒,萌萌哒。
感谢黄学长,感谢栋栋!
#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
int p[101];
int main()
{
string a,b;
cin>>a>>b;
int n=a.length(),m=b.length();
a=" "+a;b=" "+b;
int j=0;
for(int i=2;i<=m;i++)
{
while(j>0&&b[j+1]!=b[i])j=p[j];
if(b[j+1]==b[i])j++;
p[i]=j;
}
j=0;
for(int i=1;i<=n;i++)
{
while(j>0&&b[j+1]!=a[i])j=p[j];
if(b[j+1]==a[i])j++;
if(j==m){printf("%d",i-m+1);break;}
}
return 0;
}
转载于:https://www.cnblogs.com/xiaoqi7/p/5224275.html
KMP算法———模板相关推荐
- KMP算法模板与解析
全部数据结构.算法及应用课内模板请点击:https://blog.csdn.net/weixin_44077863/article/details/101691360 将KMP算法,就要先讲讲它是用来 ...
- python【数据结构与算法】KMP算法模板(我吐了!)
import math import cmath import sys import string import heapq import bisect from queue import Queue ...
- (转)扩展KMP算法模板
原理博客插眼:https://www.cnblogs.com/dilthey/p/8620119.html 用途:给出两个字符串s和t,extend[i]代表在字符串s中,以i为起点开始的后缀,与字符 ...
- KMP算法之 好理解的模板
主要作用:能够在线性复杂度内求出一个串在另一个串的所有匹配位置. 说明:设模板串是 pattern, 令 next[i] = max{k|[pattern[0..k−1] = pattern[i−k+ ...
- 【算法模板】轻松学会KMP算法
目录 0.前言 1. 视频理解KMP的流程 2.代码实现 3.结束语 0.前言 KMP算法是在字符串中寻找字串的算法,时间复杂度为O(n). KMP算法中有两个关键因素: next数组 匹配机制 1. ...
- (转)KMP算法原理讲解及模板C实现
原作者:v_JULY_v 1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱.所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不 ...
- 『ACM--算法--KMP』信息竞赛进阶指南--KMP算法(模板)
简介: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特-莫里斯-普拉特操作(简称KMP算法).KMP算法的核心是利用匹 ...
- KMP算法详解P3375 【模板】KMP字符串匹配题解
KMP算法详解: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt(雾)提出的. 对于字符串匹配问题(such as 问你在abababb中有多少个 ...
- 0x15.基本数据结构 — 字符串 (KMP算法(含详细证明)和最小表示法)
目录 一.KMP模式匹配 1.引理: 2.引理证明: 3.使用优化的算法计算nextnextnext数组: 4.luogu P3375 [模板]KMP字符串匹配 5.UVA1328 Period 6. ...
最新文章
- Windows下安装Redis服务
- Android开发架构规范
- 4计算准确率_PyTorch实现,GitHub 4000星:这是微软开源的计算机视觉库
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单
- 如何读入一个多行的txt文件,给每行的数据加双引号并保存为一行输出
- testTry-catch和catch中的应用程序恢复
- 基于python+opencv的图像目标区域自动提取
- python自动化办公-python自动化办公?学这些就够用了
- 这个锅,运维来背?忘记续期 HTTPS 证书,网易邮箱大量用户无法使用
- 如何用 10 句话激怒程序猿?
- Debit credit problem
- http://blog.csdn.net/wangyoujin321/article/details/51472606
- 不吼不叫:该如何平静地和孩子合作?
- uci2019计算机录取,最新!加州大学公布2019年新生录取数据!
- 程序员做自媒体,龙叔教你怎么快速成为优秀博主【CSDN篇】
- 小程序使用wxs处理手机号
- 原生JS音乐歌词播放页面
- smarty-wap端
- unity5-GI是什么?
- html 标签 简写_HTML缩写标签
热门文章
- LeetCode算法入门- Merge Two Sorted Lists -day15
- 怎么使用mysql打表_MySQL的表使用
- 血型算法php,血型排行榜!(真的很准)
- java 像素级碰撞检测,» 像素级碰撞检测类
- 在c语言程序中无论是整数还是实数,C语言基础题及参考答案
- ❤️六W字《计算机基础知识》(三)(建议收藏)❤️
- html+字体图标找不到字体,bootstrap中不显示字体图标问题怎么解决?
- 选择排序--Java
- Java 输出链表的第一个和最后一个元素
- C++类成员的访问权限以及类的封装