A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. /*
  2. 4,获取两个字符串中最大相同子串。第一个动作:将短的那个串进行长度一次递减的子串打印。
  3.         "abcwerthelloyuiodef"
  4.         "cvhellobnm"
  5.         思路:
  6.                 1,将短的那个子串按照长度递减的方式获取到。
  7.                 2,将每获取到的子串去长串中判断是否包含,
  8.                         如果包含,已经找到!。
  9. */
  10. class Test4
  11. {
  12.         public static void main(String[] args)
  13.         {
  14.                 String str1="awertyuiodef";
  15.                 String str2="cvnm";

  16.                 String s=ziChuan(str1,str2);

  17.                 sop(str1+"与"+str2+"最大子串是:"+s);
  18.         }

  19.         public static String ziChuan(String str1,String str2)
  20.         {
  21.                 String maxString,minString;
  22.                 if (str1.length()>str2.length())
  23.                 {
  24.                         maxString=str1;
  25.                         minString=str2;
  26.                 }
  27.                 else
  28.                 {
  29.                         maxString=str2;
  30.                         minString=str1;
  31.                 }
  32.                 for (int x=0 ;x<minString.length() ;x++ )
  33.                 {
  34.                         for (int start=0,end=minString.length()-1-x;end<minString.length() ;start++,end++ )
  35.                         {
  36.                                 String str3=minString.substring(start,end+1);
  37.                                 if (maxString.indexOf(str3)!=-1)
  38.                                 {
  39.                                         return str3;
  40.                                 }
  41.                         }
  42.                 }
  43.                 return "无相同子串";
  44.         }

  45.         public static void sop(Object obj)
  46.         {
  47.                 System.out.println(obj);
  48.         }
  49. }
复制代码

1 个回复

倒序浏览
好厉害呀,佩服!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马