首页 > 网络文摘 > 正文
#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> int a[1000010], b[10010], next[10010]; int n, m; void GetNext(int b[])//获得next数组 { int k = -1, j = 0; next[0] = -1; while(j < m) { if(k == -1 || b[j] == b[k])//b[k]表示前缀b[j]表示后缀 { j++; k++; if(b[j] != b[k]) next[j] = k; else next[j] = next[k]; } else k = next[k]; } } int KMP(int a[], int b[]) { int i = 0, j = 0; while(i < n && j < m) { if(j == -1 || a[i] == b[j])//j == -1或当前字符匹配成功,则i++,j++ { i++; j++; } else//j != -1 且当前字符匹配成功,b字符串向后移动j-next[j]位 j = next[j]; } if(j == m) return i - j + 1; return -1; } int main() { int t, i; scanf("%d", &t); while(t--) { scanf("%d%d", &n, &m); for(i = 0 ; i < n ; i++) scanf("%d", &a[i]); for(i = 0 ; i < m ; i++) scanf("%d", &b[i]); GetNext(b); printf("%d\n", KMP(a, b)); } return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
可爱穿搭很重要
工藤美樱写真集
斯米兰海水是真不错
海边想拍氛围照
海岛度假
甜妹 ootd 穿搭
在大的理日就子是在海洱边发发呆
7080后儿时集体回忆插画
西安子午峪满山的白杜鹃太美了
职业模特拍摄省事很多
北京电影学院表演系毕业照:美女纷纷自拍
印象回到中国1993年
乌克兰芭比娃美女
非礼勿视!日本如此变态的成人文化
南宁警方端掉一野外卖淫窝点
货车侧翻 市民:不抢是傻子
中山路人徒手接住空中坠落小孩
浙江台州土豪娶妻引侧目:288万现钞 金条十几根
英国黑白双胞胎姐妹走红
香港生活成本世界最高 底层人蜗居“棺材间”
绝对罕见!目睹各国名人遗容照
海滩试拍
北影表演系花微博晒照:关之琳+杨幂合体
周杰伦的新婚妻子昆凌
悉尼海滩百人裸泳狂欢 一丝不挂惊爆眼球
全国高校校花新鲜出炉
2014年安徽摔婴事件
浙江苍南城管打人致其吐血 引近千群众围观
马斯克:只要自动驾驶足够给力,特斯拉可以零利润卖车
中国美女城市排行:哈尔滨第一 北京未入榜
中戏艺考美女PK传媒艺考美女 都百里挑一
车模精选
广西桂平石龙镇的5月22日车祸事故
亚太比基尼精选