蛮力字符串匹配

蛮力字符串匹配有很多算法,今天我们要讲的是BFS(Bobby First Search)算法。

这种搜索的定义是:在一个字符串里,从前往后去查找第一个Bob出现的位置(不区分大小写)。

输入格式

输入一个仅包含大小写字母和数字的字符串​s (|s|<=100)。

输出格式

输出一个数字,表示使用BFS算法对这个字符串搜索的结果(0-index)。

如果搜索不到,则输出​-1。

  测试输入关于“测试输入”的帮助 期待的输出关于“期待的输出”的帮助 时间限制关于“时间限制”的帮助 内存限制关于“内存限制”的帮助 额外进程关于“{$a} 个额外进程”的帮助
测试用例 1 以文本方式显示
  1. Bobob↵
以文本方式显示
  1. 0↵
1秒 64M 0
测试用例 2 以文本方式显示
  1. BFS↵
以文本方式显示
  1. -1↵
1秒 64M 0
#include<stdio.h>  
#include<string.h>  
int main()  
{  
    char s[10000];  
    int i=0,length,flag=0;  
    gets(s);  
    length=strlen(s);  
    while(1)  
    {  
        for(;i<length;i++)  
        {  
            if((s[i]=='B')||(s[i]=='b')) break;  
        }  
        if(i>=(length-2)) break;  
        else  
        {  
            if(((s[i+1]=='O')||(s[i+1]=='o'))&&((s[i+2]=='B')||(s[i+2]=='b')))  
            {  
                flag=1;  
                break;  
            }  
            else  
            i++;  
        }  
    }  
    if(flag)  printf("%d\n",i);  
    else printf("-1\n");  
 }  
发布了19 篇原创文章 · 获赞 1 · 访问量 168

猜你喜欢

转载自blog.csdn.net/CN_BIT/article/details/104649772