牛客练习赛42 A:字符串

链接:https://ac.nowcoder.com/acm/contest/393/A
来源:牛客网

 

找出连续相同最大的部分,这样可以保证 最长公共前缀 和 最长公共后缀 都是最大的。

#include<stdio.h>
#include<string.h>
#define N 200020
char a[N],b[N];
int maxi(int a,int b)
{
	return a>b?a:b;
}
int main()
{
	int len,i,max,sum;
	scanf("%s%s",a,b);
	max=0;
	sum=0;
	len=strlen(a);
	for(i=0;i<len;i++)
	{
		if(a[i] == b[i])
			sum++;
		else
		{
			max=maxi(max,sum);
			sum=0;	
		}
	}
	printf("%d
",max*max+2*max);
	return 0;
}
原文地址:https://www.cnblogs.com/zyq1758043090/p/11852784.html