zoukankan      html  css  js  c++  java
  • 两个字符串中最大相同的子串

     1 /*
     2  * 两个字符串中最大相同的子串。
     3  *
     4  *
     5  *
     6  * 思路:
     7  * 1,既然取得是最大子串,先看短的那个字符串是否在长的那个字符串中。
     8  * 如果存在,短的那个字符串就是最大子串。
     9  * 2,如果不是呢,那么就将短的那个子串进行长度递减的方式去子串,去长串中判断是否存在。
    10  * 如果存在就已找到,就不用在找了。
    11  */
    12 
    13 public class Test2 {
    14 
    15     public static void main(String[] args) {
    16 
    17         String s1 = "qwerabcdtyuiop";
    18         String s2 = "xcabcdvbn";
    19         String s = getMaxSubstring(s1, s2);
    20         System.out.println("s=" + s);
    21 
    22     }
    23 
    24     private static String getMaxSubstring(String s1, String s2) {
    25         String max = null, min = null;
    26         max = (s1.length() > s2.length()) ? s1 : s2;
    27         min = max.equals(s1) ? s2 : s1;
    28         for (int i = 0; i < min.length(); i++) {
    29             for (int x = 0, y = min.length() - i; y != min.length() + 1; x++, y++) {
    30                 String sub = min.substring(x, y);
    31                 if (max.contains(sub))
    32                     return sub;
    33             }
    34 
    35         }
    36         return null;
    37     }
    38 
    39 }
  • 相关阅读:
    第二阶段冲刺第四天
    第二阶段冲刺第三天
    第二阶段冲刺第二天
    第二阶段冲刺第一天
    软件工程结对作业01(补充)
    软件工程概论个人总结
    梦断代码阅读笔记06
    梦断代码阅读笔记05
    构建之法阅读笔记04
    构建之法阅读笔记01
  • 原文地址:https://www.cnblogs.com/ql211lin/p/3987043.html
Copyright © 2011-2022 走看看