给定两个字符串,获取两个字符串中最大相同的子串

 1 package weekpratisce;
 2
 3 ///给定两个字符串,获取两个字符串中最大相同的子串
 4 public class Demo9 {
 5     public static void main(String[] args) {
 6         String xx = "aaaaaaaaaaddddddd", yy = "45ddddda";
 7         String str = getMaxsubstring(xx, yy);
 8         System.out.println(str);
 9         // String str=xx.substring(1,10);
10         // System.out.println(str);
11     }
12     /**
13      * boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
14      */
15
16     // 获取两个字符串中最大相同子串。
17     /**
18      * 思路:1、将短的那个子串按照长度递减的方式获取到。 2、用长串去判断是否包含每次获取到的子串,若包含则就找到最大相同子串
19      *
20      * @param s1
21      * @param s2
22      * @return max substring
23      */
24     public static String getMaxsubstring(String s1, String s2) {
25         String max = "";
26         String min = "";
27         // 找出最短长度
28         max = (s1.length() > s2.length()) ? s1 : s2;
29         min = (max == s1) ? s2 : s1;
30         for (int i = 0; i < min.length(); i++) {
31             for (int j = 0, k = min.length() - i; k != min.length() + 1; j++, k++) {
32                 String temp = min.substring(j, k);
33                 if (max.contains(temp)) {
34                     return temp;
35                 }
36             }
37         }
38
39         return null;
40
41     }
42
43 }
时间: 2024-08-02 15:11:10

给定两个字符串,获取两个字符串中最大相同的子串的相关文章

两种方式 获取数据库某个表中所有的数据数量条数

public int getAllEmps(){        //第一种方式 纯JDBC方式//        Connection conn=null;//        PreparedStatement ps=null;//        ResultSet rs=null;//        try {//            conn=C3Pool.getConnection();//            String sql="select count(*) from emp&

PHP 字符串获取 substr 与 strstr 函数-来自PHP教程

PHP 字符串获取 substr 与 strstr 函数 PHP 字符串获取 用于从字符串中获取指定字符串. 相关函数如下: substr():从字符串中获取其中的一部分 strstr():查找字符串在另一个字符串中第一次出现的位置,并返回从该位置到字符串结尾的所有字符 subchr():同 strstr() strrchr():查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符 substr() substr() 函数用于从字符串中获取其中的一部分,返回一个字符

获取两个字符串中最大相同子串

2.获取两个字符串中最大相同子串.第一个动作:将短的那个串进行长度一次递减的子串打印. "cvhellobnmtanop" "andefc" 思路: 1,将短的那个子串按照长度递减的方式获取到. 2,将每获取到的子串去长串中判断是否包含,如果包含,已经找到! package tan; class Test { public static String getMaxSubString(String s1,String s2) { String max = "

获取两个字符串日期的差值的方法

日期的格式:“yymmddhhmmss”是一个字符串,计算两个日期之间的差值,显然就是计算两个日期之间相差的秒数,有个简洁的方法是将字符串转化为time_t格式,用time_t表示的时间(日历时间)是从一个时间点(例如:1970年1月1日0时0分0秒)到此时的秒数 我们可以看到它的定义是这样的 #ifndef _TIME_T_DEFINEDtypedef long time_t;           /* 时间值 */#define _TIME_T_DEFINED       /* 避免重复定义

获取两个字符串的最大相同子串

/** 获取两个字符串的最大相同子串. String s1 = "也许成湖科技是今天最大的赢家"; String s2 = "可能成湖科技未必成为今天最大的赢家吧"; /** 获取两个字符串的最大相同子串. String s1 = "也许成湖科技是今天最大的赢家"; String s2 = "可能成湖科技未必成为今天最大的赢家吧"; 思路: 1,先明确两个字符串的长短,在长串中判断短串是否存在. 2 存在,已找到,说明短串就是

获取两个字符串全部公共的子串算法

应用场景: 获取两个字符串全部公共的子串. 思路: 1. 先获取两个子串的交集 2. 遍历交集子串,从最短子串到最长子串 public static List<String> getAllCommonSubStrings(String str1, String str2) { //TODO null check. String longString = str1; String shortString = str2; if(str1.length() < str2.length()){

获取两个字符串中最大的相同子串

public class 获取两个字符串中最大的相同子串 { public static void main(String[] args) { String a="abcwerthelloadcedf"; String b="cdhelloesadcedf"; String c=getSonString(a,b); System.out.println(c); } private static String getSonString(String a, String

获取两个字符串所有公共的子串算法

应用场景: 获取两个字符串所有公共的子串. 思路: 1. 先获取两个子串的交集 2. 遍历交集子串,从最短子串到最长子串 public static List<String> getAllCommonSubStrings(String str1, String str2) { //TODO null check. String longString = str1; String shortString = str2; if(str1.length() < str2.length()){

获取两个字符串中最长相等的字符串

获取两个字符串中最长相等的字符串 例:"likeyou"和"loveyou" 输出"eyou" 前段时间面试遇到的面试题,当时的想法是首先将字符串拆分成字符数组,然后拿两个数组去做比较,可惜由于基础不是很扎实,当时的for循环比较写成了这个样子 for (int i = 0; i < arrStr1.length; i++) { for (int j = 0; j < arrStr2.length; j++) { if (arrStr