自己写的。是不是和之前的某道题目重复了?

查找两个字符串a,b中的最长公共子串

https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506

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 (str2.length() < str1.length()) {
                String temp = str1;
                str1 = str2;
                str2 = temp;
            }
            int n = str1.length();
            int max = 0;
            int start = 0;
            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;
                            start = k;
                        }
                    }
                }
            }
            System.out.println(str1.substring(start, start + max));
        }
    }
}

全部评论

相关推荐

HNU_fsq:建议直接出国,这简历太6了。自愧不如
点赞 评论 收藏
分享
11-18 15:57
门头沟学院 Java
最终归宿是测开:这个重邮的大佬在重邮很有名的,他就喜欢打92的脸,越有人质疑他,他越觉得爽😂
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务