educoder数据结构 字符串匹配 第1关:实现朴素的字符串匹配
admin
2024-05-04 21:31:40
0

                                                         本文已收录于专栏

                 🌲《educoder数据结构与算法_大耳朵宋宋的博客-CSDN博客》🌲

目录

🍃任务描述🍃

🍃相关知识🍃

🍃编程要求🍃

🍃评测说明🍃

🍃AC_Code🍃


🍃任务描述🍃

本关任务是实现函数int FindSubStr(char* t, char* p)

🍃相关知识🍃

在一个长字符串中寻找一个短字符串出现的位置,这是字符串匹配问题。

例如:长字符串是 “string” ,短字符串是 “ring” ,那么短字符串在长字符串中出现的位置是 2 ,即 “ring” 在 “string” 中出现的开始位置是 2 。

🍃编程要求🍃

本关的编程任务是补全 step1/mystr.cpp 文件中的FindSubStr函数,以实现朴素的字符串匹配。

  • 具体请参见后续测试样例。

本关涉及的代码文件 mystr.cpp 的代码框架如下:

 
  1. int FindSubStr(char* t, char* p)
  2. /*
  3. 从字符串t查找子字符串p。
  4. 字符串以数值结尾,例如p="str",那么p[0]='s',p[1]='t',p[2]='r',p[3]=0。
  5. 采用朴素的匹配算法,返回子字符串第一次出现的位置,例如t="string ring",p="ring",则返回2。
  6. 若没有找到,则返回-1。
  7. */
  8. {
  9. // 请在此添加代码,补全函数FindSubStr
  10. /********** Begin *********/
  11. /********** End **********/
  12. }

🍃评测说明🍃

本关的测试文件是 step1/Main.cpp ,测试过程如下:

  1. 平台编译 step1/Main.cpp ,然后链接相关程序库并生成 exe 可执行文件;
  2. 平台运行该 exe 可执行文件,并以标准输入方式提供测试输入;
  3. 平台获取该 exe 可执行文件的输出,然后将其与预期输出对比,如果一致则测试通过;否则测试失败。

以下是平台对 step1/Main.cpp 的样例测试集:

样例输入: string tri 样例输出: Location: 1


开始你的任务吧,祝你成功!

🍃AC_Code🍃

#include 
#include 
#include "mystr.h"
#pragma warning(disable:4996)
int FindSubStr(char* t, char* p)
/*
从字符串t查找子字符串p。
字符串以数值结尾,例如p="str",那么p[0]='s',p[1]='t',p[2]='r',p[3]=0。
采用朴素的匹配算法。
返回子字符串第一次出现的位置,例如t="string ring",p="ring",则返回2。
若没有找到,则返回-1。
*/
{// 请在此添加代码,补全函数FindSubStr/********** Begin *********/int i=0,j=0;while(p[i]!=0&&t[j]!=0) {if (p[i]==t[j]) {i++;j++;}else{j=j-i+1;i=0;}}if (p[i]==0){return j-i;}else {return -1;}/********** End **********/
}int main1()
{char t[100]; char p[100]; scanf("%s", t);scanf("%s", p);int i=FindSubStr(t, p);printf("Location: ");if(i==-1) {printf("not found!");}else {printf("%d",i); }return 0;
}

相关内容

热门资讯

华夏幸福继续减持 厦门国际银行... 5月18日,河北金融监管局发布批复显示,同意厦门国际银行股份有限公司受让华夏幸福基业控股股份公司持有...
离境退税2.0版政策上线 境外... 本文转自【央视新闻客户端】; 今天(18日),我国离境退税2.0版政策正式上线,以后境外旅客来华购物...
原创 在... 老周坐在东京中野区那间不大的公寓里,又把账本翻了一遍。手边是厚厚的日元工资条,电脑屏幕上开着国内某二...
探索“筷子夹火箭”的商业航天公... 上证报中国证券网讯 国内唯一“不锈钢箭体+液氧甲烷动力+筷子捕获臂回收”技术路线的商业火箭公司再度融...
5月30日晚8点开启!首次全场... 潮新闻客户端 记者 周夏林 又好又便宜的京东618,今年来得有点“聪明”。 5月18日,京东宣布,2...
2026年太和县黄金回收权威机... “家里压箱底的金项链断了,金戒指戴旧了,想去回收却又担心被压价、被掉包。”这是我在太和县做珠宝行业多...
A股“下半场”怎么走?券商最新... 【导读】券商密集召开中期策略会 中国基金报记者 孙越 临近年中,2026年券商中期策略会正迎来密集召...
爱德泰由董事长白长安夫妇控股9... 瑞财经 吴文婷近日,深圳市爱德泰科技股份有限公司(以下简称“爱德泰”)在港交所递交招股书,中信证券、...
前CIA资助研究员:美寻获4种... 近日,一名曾接受美国中央情报局(CIA)资助的前政府研究员曝出惊人消息,声称美国已从坠毁的不明飞行物...
原创 欧... 2026年5月,全球巧克力设备圈炸开了一口大锅。 一百多年来,生产线上那几根核心精磨辊筒,一直被瑞士...
商务部等六部门:加力扩大入境消... 商务部、财政部、国家税务总局等6部门日前发布《关于加力优化离境退税措施扩大入境消费的通知》,此次政策...
飞天没涨价,但茅台真正的变革,... 2026年5月16日零时整,i茅台App推送了一条公告。 不是限量发售,不是新品上架,是涨价。 四款...
“不含白酒”!消费主题ETF营... 【导读】“不含白酒”成了消费主题ETF的营销新卖点? 见习记者 闫军 近期,有基金公司宣传食品饮料E...
金价又崩了!5月这波下跌,藏着... 昨天看行情的时候,我一度以为自己眼花了。 5月18日亚市早盘,现货黄金伦敦金直接失守4500美元/盎...
拿下百年药企、进军医院市场,广... (本文作者为 牛刀财经NiuDaoCJ,钛媒体经授权发布) 文 | 牛刀财经NiuDaoCJ ...
一心卖车的蔚来,终于被看懂了 作者 | 定焦One 陈颐 中国资本市场对新能源汽车的态度,最近一年发生了转变。 具身智能、飞行汽...
原创 杨... 赚的不多,拿的不少。 作者 | 于婞 编辑丨高岩 来源 | 野马财经 与明星爱人黄圣依再见1年后,“...
历史首次!东莞A股上市公司,市... 据东莞市上市公司协会消息,截至2026年5月15日收盘,东莞64家A股上市公司总市值首次突破万亿元,...
对标行业龙头先导智能,格林晟港... 在锂电制造的中段——从极片到电芯成型的核心环节,有一项设备至关重要:叠片机,它直接决定了电池的能量密...
银行存款大局已定?明后年,存款... 银行存款的大局,已经从“怎么多赚点利息”,变成了“怎么少亏点、别踩坑”。 2025年以来,存款利率一...