您的位置:首页 > 编程语言 > C语言/C++

华为OJ——公共字串计算

2016-07-16 20:23 435 查看
公共字串计算

题目描述

题目标题:

计算两个字符串的最大公共字串的长度,字符不区分大小写

详细描述:

接口说明

原型:

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

输入参数:

     char * pFirstStr //第一个字符串

     char * pSecondStr//第二个字符串

[b]输入描述:[/b]
输入两个字符串

[b]输出描述:[/b]
输出一个整数

[b]输入例子:[/b]
asdfas werasdfaswer
[b]输出例子:[/b]
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ C语言 OJ 华为 算法