题解 | #公共子串计算#

公共子串计算

https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b

//本大神的思考
//将输入的字符串分别用长串和短串存储
//将短串的长度依次减小, 并遍历固定长度下的子串剪切可能
//如果长串包含剪切的子串就返回长度
//否则最后返回0

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String str1 = sc.nextLine();
        String str2 = sc.nextLine();
        String longStr ;
        String shortStr ;
        if(str1.length() > str2.length())
        {
             longStr = str1;
             shortStr = str2;
        }
        else
        {
             longStr = str2;
             shortStr = str1;
        }
        //len=8   i=5    7 6 5 4 3
        int len = shortStr.length();
        for (int i = len; i >0 ; i--)
        {//长度依次减小
            for (int j = 0; j <= len-i ; j++)
            {
                String tmp = shortStr.substring(j,j+i);
                if (longStr.contains(tmp))
                {
                    System.out.println(i);
                    return;
                }
            }
        }
        System.out.println(0);
    }
}

华为机试题解 文章被收录于专栏

华为机试题解

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务