美文网首页
string 匹配

string 匹配

作者: 小路子好 | 来源:发表于2019-02-08 12:01 被阅读0次

    题目描述

     Finding all occurrences of a pattern in a text is a problem that arises frequently in text-editing programs.     Typically,the text is a document being edited,and the pattern searched for is a particular word supplied by the user.       We assume that the text is an array T[1..n] of length n and that the pattern is an array P[1..m] of length m<=n.We further assume that the elements of P and  T are all alphabets(∑={a,b...,z}).The character arrays P and T are often called strings of characters.       We say that pattern P occurs with shift s in the text T if 0<=s<=n and T[s+1..s+m] = P[1..m](that is if T[s+j]=P[j],for 1<=j<=m).       If P occurs with shift s in T,then we call s a valid shift;otherwise,we calls a invalid shift.      Your task is to calculate the number of vald shifts for the given text T and p attern P.
    

    输入描述:

    For each case, there are two strings T and P on a line,separated by a single space.You may assume both the length of T and P will not exceed 10^6.

    输出描述:

    You should output a number on a separate line,which indicates the number of valid shifts for the given text T and pattern P.
    

    示例1

    abababab abab
    
    3
    

    代码

    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
        string s1;
        string s2;
        while(cin>>s1>>s2)
        {
            int length1 = s1.length();
            int length2 = s2.length();
            if(length2>length1)
                cout<<0;
            else{
                int num=0;
                while(s1.length()>=length2)
                {
                    int pos=s1.find(s2);
                    if(pos>=0)
                    {
                        s1 = s1.substr(pos+1);
                        num++;
                    }
    
                }
                cout<<num<<endl;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:string 匹配

          本文链接:https://www.haomeiwen.com/subject/lwgnsqtx.html