自己写的。三重for循环暴力遍历。

公共子串计算

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String str1 = in.nextLine();
            String str2 = in.nextLine();
            if (str1.length() > str2.length()) {
                String temp = str1;
                str1 = str2;
                str2 = temp;
            }
            int max = 0;
            int n = str1.length();
            for (int i = 1; i <= n; i++) {
                for (int j = 0; j <= n - i; j++) {
                    for (int k = j; k <= n - i; k++) {
                        String sub = str1.substring(k, k + i);
                        if (str2.contains(sub) && i > max) {
                            max = i;
                        }
                    }
                }
            }
            System.out.println(max);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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