首页 > 网络文摘 > 正文
#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后儿时集体回忆插画
西安子午峪满山的白杜鹃太美了
职业模特拍摄省事很多
鲁迅书法绵里裹铁
李敏镐图片精选
让人心灵震惊!你能坚持看到第几张?
你见过这种饥荒吗?
普京小时候照片
NBA 新晋第一女神走红
澳门赌场实拍美女
赵忠祥5亿豪宅再次曝光
广州打工妈妈哭诉8岁女儿被强奸4次
林彪的书法欣赏
浙江台州土豪娶妻引侧目:288万现钞 金条十几根
杨紫琼在奥斯卡的高光时刻
世界美女地图 个个都十分美丽身材惹火性感
凯特二胎生公主 圆婆婆戴安娜王妃生女遗愿
亮瞎眼! 帅哥美女骑行西藏前后惊悚对比
肇庆一婴儿头部撞入煲里 被热粥烫伤
大海陪衬白色衣裙
东北花袄
中国超模
马斯克:只要自动驾驶足够给力,特斯拉可以零利润卖车
乌克兰芭比娃美女
中国美女城市排行:哈尔滨第一 北京未入榜
中戏艺考美女PK传媒艺考美女 都百里挑一
车模精选
广西桂平石龙镇的5月22日车祸事故
亚太比基尼精选