关于如何求两个字符串的最大公共子串的问题
【关于如何求两个字符串的最大公共子串的问题】这是一个求字符串的最大公共子串的模板,此方法对于长度较短的字符串效率较高:
#include
#include
int f(char s1[],char s2[])
{
int a[100][100];
int len1 = strlen(s1);
int len2 = strlen(s2);
int i,j;
memset(a,0,sizeof(int)*100*100);
int max = 0;
for(i=1;
i<=len1;
i++){
for(j=1;
j<=len2;
j++){
if(s1[i-1]==s2[j-1]) {
a[i][j] = a[i-1][j-1]+1;
if(a[i][j] > max) max = a[i][j];
}
}
}
return max;
}int main()
{
char a[100],b[100];
scanf("%s%s",a,b);
printf("%d\n", f(a,b));
return 0;
}
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 四首关于旅行记忆的外文歌曲
- 醒不来的梦
- 有句话忍很久了,女生要求买房怎么就物质了()
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)