美文网首页
求两个字符串中最长子串

求两个字符串中最长子串

作者: OakesYa | 来源:发表于2020-06-27 17:09 被阅读0次

编码需求

找出指定的2个字符串的最长公共子串,如果存在多个等长的公共子串,则请按字母序排序,依次打印出所有公共子串,每行一个

编码实现

import java.util.*;
public class Main {
    public static List<String> getCommonStr(String str1, String str2) {
        boolean oneMoreLength = str1.length()  > str2.length();
        String maxStr = oneMoreLength ? str1 : str2;
        String minStr = oneMoreLength ? str2 : str1;
        List<String> list = new ArrayList();
        for (int i = 0; i < minStr.length(); i++) {
             for (int startIndex = 0, endIndex = minStr.length() - i; endIndex <= minStr.length(); startIndex++,endIndex++) {
                 String temp=minStr.substring(startIndex, endIndex); //截取的那个。
                 if(maxStr.contains(temp)){
                     list.add(temp);
                 }
             }
            if (list.size() > 0) {
                return list;
            }
        }
        return list;
    }


    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str1 = scanner.next();
        String str2 = scanner.next();
        List<String> result = getCommonStr(str1, str2);
        result.stream().sorted((a,b) -> {return a.compareTo(b);}).forEach(str -> System.out.println(str));
    }
}

相关文章

  • 求两个字符串中最长子串

    编码需求 找出指定的2个字符串的最长公共子串,如果存在多个等长的公共子串,则请按字母序排序,依次打印出所有公共子串...

  • 动态规划--最长公共子序列

    问题:任意输入两个字符串,求这两个字符串之间的最长子序列(LCS)。。。。 在解题之前,需要理解几个定理:X=

  • 牛客——最长子字符串

    1. 02最长子字符串 题目 牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他...

  • KirogiYi ARTS打卡:第二周

    Algorithm(求最长子串的长度) 描述:给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 思路:...

  • Longest Substring with At Most T

    Hard, Array/String 给定字符串,寻找最多包含两个重复字符的最长子字符串。P.S. 无重复字符串进...

  • 每周一道leetcode—— 3. Longest Substr

    题目 求一个字符串的一个满足要求的最长子字符串,该子字符串不得含有重复的字符,返回该子字符串的长度。 思路 很容易...

  • 3、字符串求最长子串

    问题: 给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3解释:...

  • 如何求两个字符串的交集?

    求两个字符串的交集 写一个方法intersection,求两个字符串的交集。比如name和age两个字符串的交集为...

  • LintCode题解 | 谷歌面试真题:最小子串覆盖

    【题目描述】 给定两个字符串 source 和 target. 求 source 中最短的包含 target 中每...

  • 算法1-无重复字符的最长子串

    无重复字符的最长子串 首先分析一下题目,求给定字符串的最长不重复子串,思路应该是分治不断降规模,把长度为n的字符串...

网友评论

      本文标题:求两个字符串中最长子串

      本文链接:https://www.haomeiwen.com/subject/fuqvfktx.html