2295: KMP模式匹配 一(串)

时间限制: 1 Sec  内存限制: 128 MB
提交: 210  解决: 97
[提交][状态][讨论版][命题人:外部导入]

题目描述

求子串的next值,用next数组存放,全部输出

输入

输入一个字符串

输出

输出所有next值

样例输入

abaabcac

样例输出

0 1 1 2 2 3 1 2
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn = 10010;
int len;
void getnext(char s[maxn], int next[maxn])
{
len = strlen(s);
int i = 0, j = -1;
next[0] = -1;
while(i < len)
{
if(j == -1 || s[i] == s[j])
{
i++;
j++;
next[i] = j;
}
else
j = next[j];
}
}
int main()
{
char a[maxn];
int next[maxn];
int i;
cin >> a;
len = strlen(a);
getnext(a, next);
for(i = 0; i < len - 1; ++i)
{
printf("%d ", next[i] + 1);
}
printf("%d", next[i] + 1);
return 0;
}

  

 

最新文章

  1. lucene 索引 demo
  2. Spring 3种注入方式
  3. C# 对象转换为byte[] ,byte[]还原对象
  4. 通过PowerShell获取域名whois信息
  5. 【模拟】Codeforces 710A King Moves
  6. UIProgressView 圆角
  7. 2.10 工具使用 after effects(图形视频处理软件)
  8. android开发过程中遇到的坑
  9. 用bat批处理程序通过DOS命令行删除所有的空文件夹
  10. Win2016以及win10 IIS10 下安装IEwebcontrol的方法
  11. Hbase 集群安装(Hadoop 2.6.0 hbase0.99.2)
  12. vue中的provide/inject的学习
  13. 1-2-编译U-boot
  14. ELK实时日志分析平台环境部署--完整记录(转)
  15. jq禁用html标签
  16. 高斯混合模型(理论+opencv实现)
  17. 使用dos 作为中介实现cpython 和c# 交互
  18. Android 之开发积累
  19. firefox 插件 取消认证签名
  20. 141. 环形链表 LeetCode报错:runtime error: member access within null pointer of type &#39;struct ListNode&#39;

热门文章

  1. Vue.js-----轻量高效的MVVM框架(六、Class与Style绑定)
  2. $(&#39;#&#39;).formValidation校验网址
  3. PlayMaker Rotate旋转
  4. 贪心:钱币找零问题(C++)
  5. Sublime Text格式化HTML JS CSS代码
  6. Kudu1.1.0 、 Kudu1.2.0 Kudu1.3.0的版本信息异同比较
  7. SQLite的使用
  8. 装配bean,基于xml
  9. js删除数组里指定的元素
  10. Excel数据导入数据库