51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3184|回复: 1
打印 上一主题 下一主题

[原创] 测试leader因掌握的算法之求最大公共子串

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-2-5 16:27:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  1. //求两个字符串的最大公共子串
  2. public static String MaximumSubString(String s1,String s2){
  3.         String longest = "";
  4.         String substring = "";
  5.         if(s1.length()>s2.length()){        //s1为两个串中的短串;s2为长串
  6.                 String temp = s1;
  7.                 s1 = s2;
  8.                 s2 = temp;
  9.         }
  10.         int len = s1.length();
  11.         ok:for(int i=len;i>0;i--){
  12.                 for(int j=0;j<len-i+1;j++){
  13.                         substring = s1.substring(j,j+i);
  14.                         if(s2.indexOf(substring)!=-1){
  15.                                 longest = substring;
  16.                                 break ok;   //只要一找到最大子串,就退出这个for循环
  17.                         }
  18.                 }
  19.         }
  20.         return longest;
  21. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-2-5 16:31:31 | 只看该作者

  1. public static void main(String[] args){
  2.         //The result is :fsdf
  3.         String s1 = "assbcdefsdfsdssf";
  4.         String s2 = "fsafsdfkk";
  5.         System.out.println("The Longest sub string is: "+MaximumSubString(s1,s2));
  6. }
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-7-1 02:03 , Processed in 0.074938 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表