zoukankan      html  css  js  c++  java
  • 核心API的使用(获取两个字符串的最大相同子串)


    /**
    * 获取两个字符串的最大相同子串。 例:abegad acegab

    */
    public class TheSameString {
    public static void main(String[] args) {
    String s1 = "abegad";
    String s2 = "acegab";
    String maxString = maxSubString(s1, s2);
    System.out.println("最大的相同子串为:" + maxString);
    }

    public static String maxSubString(String s1, String s2) {
    // 判断s1和s2的长度,明确判断哪个是长串,短串
    String maxStr;
    String minStr;
    /**
    * 判断如果s1的长度大于s2的长度, 那么maxStr就是s1,反之则是s2. 非常适合用三目运算.因为三目运算符恰好是需要一个运算的结果的
    */
    maxStr = (s1.length() > s2.length()) ? s1 : s2;
    minStr = (maxStr.equals(s1)) ? s2 : s1;

    for (int i = 0; i < minStr.length(); i++) {
    for (int start = 0, end = minStr.length() - i; end <= minStr.length(); start++, end++) {
    String temp = minStr.substring(start, end);
    if (maxStr.contains(temp)) {
    return temp;
    }
    }
    }
    return "没有相同字符串";
    }
    }

  • 相关阅读:
    css
    团队介绍
    day4
    线段树懒标记
    P2014选课
    P2015
    扩展欧几里得(exgcd)求解不定方程/求逆元
    transform和tolower
    快读
    bzoj2118
  • 原文地址:https://www.cnblogs.com/qhcyp/p/10639241.html
Copyright © 2011-2022 走看看