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

临沭县哪里有建网站的新闻发稿推广

临沭县哪里有建网站的,新闻发稿推广,杭州做兼职网站建设,北京梦活力网站建设本专栏持续输出数据结构题目集,欢迎订阅。 文章目录题目代码题目 请编写程序,得到模式串 t 在主串 s 中首次出现的位置。 本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下: 数据0:小规模字符串&a…

本专栏持续输出数据结构题目集,欢迎订阅。

文章目录

    • 题目
    • 代码

题目

请编写程序,得到模式串 t 在主串 s 中首次出现的位置。

本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下:

  • 数据0:小规模字符串,测试基本正确性;
  • 数据1:随机数据,String 长度为 10^5,Pattern 长度为 10;
  • 数据2:随机数据,String 长度为 10^5,Pattern 长度为 10^2;
  • 数据3:随机数据,String 长度为 10^5,Pattern 长度为 10^3;
  • 数据4:随机数据,String 长度为 10^5,Pattern 长度为 10^4;
  • 数据5:String 长度为 10^6,Pattern 长度为 10^5;测试尾字符不匹配的情形;
  • 数据6:String 长度为 10^6,Pattern 长度为 10^5;测试首字符不匹配的情形。

输入格式:
输入先后给出主串 s 和模式串 t,每个非空字符串占一行,以回车结束(回车不算在字符串内)。

输出格式:
如果匹配成功,则输出 s 从 t 首次出现的位置开始的子串;否则输出 匹配失败。。

输入样例 1:
This is a simple test.
is

输出样例 1:
is is a simple test.

输入样例 2:
This is a test.
simple

输出样例 2:
匹配失败。

代码

#include <stdio.h>
const int cnt = 1000000;// KMP算法的预处理函数:计算部分匹配表(next数组)
void build(char* p, int m, int next[]) {next[0] = -1;  // 初始化next数组int k = -1;    // 前缀长度// 构建next数组,长度为m-1for(int j = 0; j < m - 1; j++) {// 若字符不匹配,回溯到上一个可能的位置while(k >= 0 && p[j] != p[k])k = next[k];k++;next[j + 1] = k;  // 记录当前位置的最长公共前后缀长度}   
}// KMP字符串匹配主函数
int kmp(int n, int m, char* s, char *p) {int i = 0;  // 主串指针int j = 0;  // 模式串指针int next[cnt];// 预处理模式串,构建next数组build(p, m, next);// 双指针遍历主串和模式串while(i < n && j < m) {// 当前字符匹配或需要从头开始匹配if(j == -1 || s[i] == p[j]) {i++;j++;} else {// 字符不匹配,利用next数组回退模式串指针j = next[j];}}// 匹配成功返回起始位置,否则返回-1return (j == m) ? i - m : -1;
}int main() {char p[cnt]; // 模式串char s[cnt]; // 主串int n = 0;   // 主串长度int m = 0;   // 模式串长度// 读取主串(不包含换行符)while ((s[n] = getchar()) != '\n') {n++;}// 读取模式串(不包含换行符)while ((p[m] = getchar()) != '\n') {m++;}// 执行KMP匹配int q = kmp(n, m, s, p);// 输出匹配结果if (q != -1) {// 输出从匹配位置开始的子串for (int i = q; i < n; i++) {printf("%c", s[i]);}printf("\n");} else {printf("匹配失败。\n");}return 0;
}

文章转载自:

http://tcNoohK0.rkrcd.cn
http://aWJkhArV.rkrcd.cn
http://1UEmFDKk.rkrcd.cn
http://k9aZG8rt.rkrcd.cn
http://lteJlQjX.rkrcd.cn
http://VrQofTd2.rkrcd.cn
http://TipfD35T.rkrcd.cn
http://vq3mDigS.rkrcd.cn
http://RJr1vkJc.rkrcd.cn
http://BhcdBp9u.rkrcd.cn
http://04Pm8biK.rkrcd.cn
http://eiO13tRm.rkrcd.cn
http://BKmMqf8k.rkrcd.cn
http://J56yaDKH.rkrcd.cn
http://VtFJcAn9.rkrcd.cn
http://f3OZvQq8.rkrcd.cn
http://cGOFwReJ.rkrcd.cn
http://yLgq4ZDE.rkrcd.cn
http://nDJqcseO.rkrcd.cn
http://KmP0ZT4D.rkrcd.cn
http://8jIHZodF.rkrcd.cn
http://UswySHOU.rkrcd.cn
http://WX0dvqCg.rkrcd.cn
http://I4UZu3b1.rkrcd.cn
http://LYc4XiWn.rkrcd.cn
http://UxKverId.rkrcd.cn
http://uQ6ol1bk.rkrcd.cn
http://g39NBpXd.rkrcd.cn
http://usYrKndc.rkrcd.cn
http://G4ZztR5E.rkrcd.cn
http://www.dtcms.com/wzjs/676843.html

相关文章:

  • 公司网站开发的流程河间网站制作
  • 网站定制开发 广州网址管理系统
  • 跨境电商网站建设流程成都市公服apicloud安装wordpress
  • 什么是网站子目录阿里云从哪里建设网站
  • html设计素材网站说明电子商务网站的建设流程
  • 有什么网站可以免费注册陕西网站备案代理
  • 2018年临沂建设局网站企业信用信息公开网查询系统
  • 网站建设的感想与建议网页设计首页制作
  • 做网站除了有服务器还需要什么软件网站没有关键词的弊端
  • 品牌网站建设公司胖咯科技网站建设
  • 德宏商城网站建设wordpress多类型会员
  • 黄页网站 php企业信息公开查询
  • 西安 网站 制作沈阳营销型网站制作技术
  • spa.net网站开发长沙seo霸屏
  • 增加网站备案网站建设公司盈利分析
  • 网站手机版跳转代码深圳网约车哪个平台好
  • 蚌埠市重点工程建设管理局网站足球网站模板下载
  • 如何做搞笑原创视频网站网站改版的费用
  • 河南建设银行网站深圳协会网站建设
  • 装修设计网站有哪些安徽飞亚建设网站
  • 河南做网站公司哪家好wordpress瀑布主题
  • 建设网站的网站首页大气点的公司名字大全
  • 广州平台网站搭建电商企业网站建设
  • 国外网页游戏网站昆山网站建设培训
  • 网站作用包牛牛网站怎么做
  • 商城网站建设模板下载wordpress ip更改
  • 郑州外贸网站建设网站淘宝客 没备案怎么做
  • 劳动局免费培训电工云南网站推广优化
  • 无锡工程建设监察支队网站网站建设较好的公司
  • 网站开发的软 硬件环境标准电商网站代码