dp[i][j]=dp[i-1][j-1]+1,array1[i]==array2[j]
=1,array1[i]==array2[j],i=0orj=0
public static void main(String[] args){
String str1="abc";
String str2="abgde";
System.out.println(find(str1,str2));
}
public static int find(String str1,String str2){
if(str1==null ||str1.length()<1||str2==null||str2.length()<1){
return -1;
}
int max=0;
int[][] dp=new int[str1.length()][str2.length()];
for(int i=0;i<str1.length();i++){
for(int j=0;j<str2.length();j++){
if(str1.charAt(i)==str2.charAt(j)){
if(i==0||j==0){
dp[i][j]=1;
}else{
dp[i][j]=dp[i-1][j-1]+1;
}
}
if(dp[i][j]>max){
max=dp[i][j];
}
}
}
return max;
}