题解 | #公共子串计算#

公共子串计算

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s1 = in.next();
        String s2 = in.next();
        int maxLen = 0;
        int ii = 0;
        //此循环决定 字符串1 开始的字符
        for(int i=0; i<s1.length(); i++){
            int tempLen = 0;
            char c = s1.charAt(i);
            int jj = 0;
            //以字符串1指定字符为起点,遍历字符串2找匹配最大值
            for(int j=0; j<s2.length(); j++){
                char cc = s2.charAt(j);
                if(c == cc){
                    tempLen++;
                    int iii = i;
                    int jjj = j;
                    while(iii+1<s1.length() && jjj+1<s2.length() && s1.charAt(iii + 1) == s2.charAt(jjj + 1)){
                        tempLen++;
                        iii++;
                        jjj++;
                    }
                    if(maxLen<tempLen){
                        maxLen = tempLen;
                    }
                    tempLen = 0;
                }
            }
        }
        System.out.print(maxLen);
    }
}

遍历即可,无需动态规划

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
今天 13:48
门头沟学院 C++
点赞 评论 收藏
分享
05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务