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

6-3 模式匹配

description

给出主串s和模式串t,其长度均不超过1000。本题要求实现一个函数BF(string s, string t),求出模式串t在主串s中第一次出现的位置(从0开始计算),如果在s中找不到t,则输出-1。

函数接口定义:
/* s为主串,t为模式串。

  • 函数返回t在s中第一次出现的位置。
    */
    int BF(string s, string t);
    其中 s 和 t 分别为主串和模式串,长度均不超过1000。函数返回模式串t在主串s中第一次出现的位置(从0开始计算),如果在s中找不到t,则输出-1。

裁判测试程序样例:

#include <bits/stdc++.h>
using namespace std;/* s为主串,t为模式串。* 函数返回t在s中第一次出现的位置。*/
int BF(string s, string t);int main(int argc, char const *argv[])
{string s, t;getline(cin, s);    //输入主串getline(cin, t);    //输入模式串int pos = BF(s, t);    //搜索cout << pos << endl;//输出模式串在主串中第一次出现的位置return 0;
}/* 请在这里填写答案 */

输入样例1:

This is a test string
is

输出样例1:

2

输入样例2:

This is a test string
The

输出样例2:

-1

solution

int BF(string s, string t){for(int i = 0; i < s.length(); i++){int temp = i, j = 0;while(s[temp] == t[j] && j < t.length() && temp < s.length()){temp++;j++;}if(j == t.length()) return i;}return -1;
}
http://www.lryc.cn/news/182806.html

相关文章:

  • SQL JOIN 时 USING 和 ON 的异同
  • 安全学习_开发相关_JNDI介绍(注入)RMILDAP服务
  • C#学生选课及成绩查询系统
  • 【C语言】利用数组处理批量数据(一维数组和二维数组)
  • WPF中, 如何将控件的触发事件绑定到ViewModel
  • 解决Qt msvc编译器 中文显示乱码问题
  • JAVA面经整理(7)
  • CentOS7使用技巧
  • Nature Machine Intelligence | “化学元素知识+功能提示”双驱动,探索分子预测新方法
  • CppCheck静态代码检查工具教程【Windows和Linux端】
  • W25Q128芯片手册精读
  • QT商业播放器
  • Python的函数
  • 【物联网】STM32的中断机制不清楚?看这篇文章就足够了
  • 深入剖析红黑树:优雅地平衡二叉搜索树
  • C10K问题:高并发模型设计
  • 哈希/散列--哈希表[思想到结构][==修订版==]
  • 成都建筑模板批发市场在哪?
  • 亨元模式 结构型模式之六
  • 面试题: Spring中Bean的实例化和Bean的初始化有什么区别?
  • 阻塞队列,生产者消费者模型
  • 【RCRL充放电时间相关计算】
  • C++ primer plus--输入、输出和文件
  • 案例题--Web应用考点
  • MySQL的SQL 优化:提升数据库性能
  • 【匠心打造】从0打造uniapp 可视化拖拽设计 c_o 第十篇
  • BIT-5-操作符详解(C语言初阶学习)
  • 【重拾C语言】三、分支程序设计(双分支和单分支程序设计、逻辑判断、多分支程序设计、枚举类型表示;典型例题:判断闰年和求一元二次方程根)
  • Shiro应用到Web Application
  • 【POST请求-腾讯翻译君-爬虫案例】