C++:任意两个字符串,求最大匹配数?其中*可以匹配任意字符,如:asdfgh与a*g,最大匹配数为5,输出asdfg

C++:任意两个字符串,求最大匹配数?其中*可以匹配任意字符,如:asdfgh与a*g,最大匹配数为5,输出asdfg,第1张

第一个字符串遍历一遍,复杂度为N。
伪代码:
string s1,s2;
int p1=0,p2=0;
int max=0; string maxMatch;
while(p1!=0&&p2!=0)
{
int cnt=0;
while(s1[p1]==s2[p2]) {++p1;++p2;++cnt;}
if(s2[p2]=='')
while(s1[p1]!=s2[p2+1]) {++p1;++cnt;}
if(cnt>max) {max=cnt;maxMatch=s1substring(p1-cnt,cnt);}
}
cout<<max<<maxMatch<<endl;

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/meirong/10646358.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-11-11
下一篇2023-11-11

发表评论

登录后才能评论

评论列表(0条)

    保存