首页 > 代码库 > 华为测试 公共子串计算
华为测试 公共子串计算
题目标题:
计算两个字符串的最大公共字串的长度,字符不区分大小写
输入两个字符串
输出一个整数
案例输入:asdfas werasdfaswer案例输出:6
#include<iostream> #include<string> using namespace std; int main() { string str1,str2,temp; int m,MaxNum=0,Len; cin>>str1>>str2; string::size_type index1; string::size_type index2; for(index1=0;index1!=str1.size();++index1) { str1[index1]=tolower(str1[index1]); } for(index2=0;index2!=str2.size();++index2) { str2[index2]=tolower(str2[index2]); } for(int j=1;j<=str1.size();++j) { for(int i=0;i!=str1.size();++i) { if(i+j<=str1.size()) { temp=str1.substr(i,j); m=str2.find(temp); if(m!=string::npos) { Len=temp.size(); if(Len>MaxNum) MaxNum=Len; } } } } cout<<MaxNum; return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。