牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度。
输入描述:
输入为两行字符串(可能包含空格),长度均小于等于50.
输出描述:
输出为一个整数,表示最长公共连续子串的长度。
输入例子:
abcde
abgde
输出例子:
2
import java.util.Scanner;
public class Main{
public static int Compare(char[] a1,char[] a2){
int count=0;
int len1=a1.length;
int len2=a2.length;
int[][] a=new int[len1][len2];
for(int i=0;i<len1;i++){
for(int j=0;j<len2;j++){
if(a1[i]!=a2[j]){
a[i][j]=0;
}else{
if(i>0&&j>0)
a[i][j]=a[i-1][j-1]+1;
else
a[i][j]=1;
}
}
}
for(int i=0;i<len1;i++){
for(int j=0;j<len2;j++){
if(a[i][j]>count){
count=a[i][j];
}
}
}
return count;
}
public static void main(String arg[]){
Scanner sc=new Scanner(System.in);
String str1=sc.nextLine();
String str2=sc.nextLine();
char[] a1=str1.toCharArray();
char[] a2=str2.toCharArray();
System.out.println(Compare(a1,a2));
}
}