题解 | #公共子串计算#

公共子串计算

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);
    }
}

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

华为机试题解

全部评论

相关推荐

孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务