1. 程式人生 > >華為OJ——公共字串計算

華為OJ——公共字串計算

公共字串計算

題目描述

題目標題:

計算兩個字串的最大公共字串的長度,字元不區分大小寫

詳細描述:

介面說明

原型:

int getCommonStrLength(char * pFirstStr, char * pSecondStr);

輸入引數:

     char * pFirstStr //第一個字串

     char * pSecondStr//第二個字串

輸入描述:

輸入兩個字串

輸出描述:

輸出一個整數

輸入例子:

asdfas werasdfaswer

輸出例子:

6

解答程式碼:

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
    char s1[512],s2[512];
    int i,j,count=0;
    int maxA=0;
    while(cin.getline(s1,512),cin.getline(s2,512))
    {
        int length1=strlen(s1);
        int length2=strlen(s2);
        int k1,k2;
        count=0;
        maxA=0;
        for(i=0; i<length1; i++)
        {
            for(j=0; j<length2; j++)
            {
                k1=i;
                k2=j;
                count=0;
                while(s1[k1]==s2[k2] && s1[k1]!='\0' && s2[k2]!='\0')
                {
                    k1++;
                    k2++;
                    count++;
                }
                if(count>maxA)
                {
                    maxA=count;
                    count=0;
                }
            }
        }
        cout<<maxA<<endl;
    }
    return 0;
}