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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 灵感 高级黑马   /  2012-8-4 17:04  /  4953 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. <blockquote>/*
复制代码
代码运行没有问题,for循环那的内循环不是很懂,毕老师将的稍微快了点,求指点

28 个回复

倒序浏览
  1. /*
  2. 需求:获取两个字符串中最大相同子串
  3. */

  4. class StringTest3
  5. {
  6.         static String getMaxSubString(String s1 ,String s2)//传入两个字符串s1  s2
  7.         {
  8.                 for(int x=0;x<s2.length();x++)
  9.                 {
  10.                         for(int y=0,z=s2.length()-x; z!=s2.length()+1; y++,z++)
  11.                         {
  12.                                 String temp = s2.substring(y,z);
  13.                                 //sop(temp);
  14.                                 if(s1.contains(temp))
  15.                                         return temp;
  16.                         }
  17.                 }
  18.                 return "";
  19.         }

  20.         public static void sop(String str)
  21.         {
  22.                         System.out.println(str);
  23.         }

  24.         public static void main(String[] args)
  25.         {
  26.                 String s1 = "saased helloaasdf";
  27.                 String s2 = "asdhellosd";
  28.                 sop(getMaxSubString(s1,s2));
  29.         }
  30. }
复制代码
代码没粘的上去,代码在这里
回复 使用道具 举报
{:soso__7116158046136899198_2:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报
{:soso__6235880048239246314_3:}
回复 使用道具 举报

回帖奖励 +2 黑马币

楼主,刷屏不好吧,{:soso_e107:}
回复 使用道具 举报
赵俊杰 发表于 2012-8-4 17:11
楼主,刷屏不好吧,

没,我不是故意的,郁闷当中
回复 使用道具 举报

回帖奖励 +2 黑马币

  1. /*
  2. 需求:获取两个字符串中最大相同子串
  3. */

  4. class StringTest3
  5. {
  6.         static String getMaxSubString(String s1 ,String s2)//传入两个字符串s1  s2
  7.         {
  8.                 for(int x=0;x<s2.length();x++)//外循环,控制长度,内循环每运行一次,temp的长度-1。
  9.                 {
  10.                         for(int y=0,z=s2.length()-x; z!=s2.length()+1; y++,z++)//这段代码默认s2是短串,s1是长串,y是头z是尾。
  11.                         {
  12.                                 String temp = s2.substring(y,z);
  13.                                 //sop(temp);
  14.                                 if(s1.contains(temp))//如果接收到相同元素则返回true就return
  15.                                         return temp;
  16.                         }
  17.                 }
  18.                 return "";
  19.         }

  20.         public static void sop(String str)
  21.         {
  22.                         System.out.println(str);
  23.         }

  24.         public static void main(String[] args)
  25.         {
  26.                 String s1 = "saased helloaasdf";
  27.                 String s2 = "asdhellosd";
  28.                 sop(getMaxSubString(s1,s2));
  29.         }
  30. }
复制代码
下面这图是我的思路图画的比较烂。 这题是要小串自减去和大串比较看是否属于大串

123.JPG (25.28 KB, 下载次数: 18)

123.JPG

评分

参与人数 1技术分 +1 收起 理由
田建 + 1 赞一个!

查看全部评分

回复 使用道具 举报

回帖奖励 +2 黑马币

先回复着
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马