美文网首页
[编程题] 最长公共连续子串章

[编程题] 最长公共连续子串章

作者: yuanxiaolan | 来源:发表于2017-04-06 14:45 被阅读0次

    牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度。

    输入描述:
    输入为两行字符串(可能包含空格),长度均小于等于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));
        }
    }
    
    

    相关文章

      网友评论

          本文标题:[编程题] 最长公共连续子串章

          本文链接:https://www.haomeiwen.com/subject/qzhqattx.html