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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

领题!!!! 领题!!!!!
回复 使用道具 举报
来学习!
回复 使用道具 举报
阳哥,请指导!

最大公共子串.PNG (44.78 KB, 下载次数: 4)

最大公共子串.PNG

Test_02.zip

677 Bytes, 阅读权限: 200, 下载次数: 1

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
中国好熊猫 来自手机 中级黑马 2014-12-5 09:08:16
304#
回帖是一种美德 看题
回复 使用道具 举报
中国好熊猫 来自手机 中级黑马 2014-12-5 09:35:31
305#
挺有难度啊 这个
回复 使用道具 举报
答题了答题了

substring.jpg (26.59 KB, 下载次数: 5)

substring.jpg

MaxSubString.rar

629 Bytes, 阅读权限: 200, 下载次数: 1

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
做题做的我思路都不开阔了,做不出来的睡一觉明早再做,先领题
回复 使用道具 举报
夜hen冷 发表于 2014-12-7 21:33
做题做的我思路都不开阔了,做不出来的睡一觉明早再做,先领题

不急,慢慢来
回复 使用道具 举报
今个真累了,明天再继续做

Text23.zip

2.19 KB, 阅读权限: 200, 下载次数: 1

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
夜hen冷 发表于 2014-12-7 21:53
今个真累了,明天再继续做
  1. package text;

  2. public class Text23 {

  3.         /**
  4.          * 已知两个字符串,String a = "abcdefghijklmnopqrstuvwxyz";String b="1234567890abcdfrgtddd12321414";
  5.          * 编写代码求出这两个字符串中最大公共字符串(最大公共字符串:
  6.          * 比如 “abc123edf”和"bc123jg"的最大公共字符串是“bc123”)。上传代码的时候将运算结果截图一起提交。
  7.          * @param args
  8.          */
  9.         public static void main(String[] args) {
  10.                 // TODO Auto-generated method stub
  11.                 String a = "abcdefghijklmnopqrstuvwxyz";               
  12.                 String b = "1234567890abcdfrgtddd12321414";
  13.                
  14.                 String result = getString(a, b);
  15.                 System.out.println(result);
  16.                
  17.         }
  18.         //获得最大子串
  19.         private static String getString(String a, String b) {
  20.                 String maxStr = null;
  21.                 String minStr = null;
  22.                 maxStr = (a.length() > b.length())? a : b;//获取最大的字符串
  23.                 minStr = maxStr.equals(a) ? b : a;//获取最小的字符串
  24.                 for (int i = 0; i < minStr.length(); i++) {
  25.                         for (int start = 0, end = minStr.length() - i; end != minStr.length() + 1; start++, end++) {               
  26.                                 String sub = minStr.substring(start, end);               
  27.                                 if (maxStr.contains(sub))//如包含则返回最大子串               
  28.                                         return sub;               
  29.                         }
  30.                 }
  31.                 return null;

  32.         }

  33.        

  34. }
复制代码

赞一个!
回复 使用道具 举报
当我睡不着的时候, 我就在想阳哥出的题目。这样,可以一举两得。第一,可以扩展java思维。第二,想累了就能入睡了!
回复 使用道具 举报
再领个题试试
回复 使用道具 举报
回帖看题 ——
回复 使用道具 举报
老师,请验收!

23期.zip

5.6 KB, 阅读权限: 150, 下载次数: 1

评分

参与人数 1技术分 +1 收起 理由
王震阳老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
陈宁 发表于 2014-12-10 23:29
当我睡不着的时候, 我就在想阳哥出的题目。这样,可以一举两得。第一,可以扩展java思维。第二,想累了就 ...

这么痴迷
回复 使用道具 举报
陈宁 发表于 2014-12-11 10:20
老师,请验收!

不错:
  1. package day16;
  2. /*
  3. * 已知两个字符串,String a = "abcdefghijklmnopqrstuvwxyz";
  4. * String b="1234567890abcdfrgtddd12321414";
  5. * 编写代码求出这两个字符串中最大公共字符串(最大公共字符串:比如 “abc123edf”和"bc123jg"
  6. * 的最大公共字符串是“bc123”)。
  7. */

  8. public class TwetyThree {
  9.         public static void main(String[] args) {
  10.                 String a = "abcdefghijklmnopqrstuvwxyz";
  11.                 String b="1234567890abcdfrgtddd12321414";
  12.                
  13.             String min=a.length()<b.length()?a:b;
  14.             String max=a.length()>b.length()?a:b;
  15.             if(a.length()==b.length()){
  16.                     min=b;
  17.                     max=a;
  18.             }
  19.             
  20.             char[] chmin=min.toCharArray();
  21.             char[] chmax=max.toCharArray();
  22.             
  23.             int count=0;
  24.             int time=0;
  25.             int e=0;
  26.             int g=0;
  27.             String result="";
  28.             for(int c=0;c<chmin.length;c++){
  29.                     for(int d=0;d<chmax.length;d++){
  30.                             count=0;
  31.                             if(chmin[c]==chmax[d]){
  32.                                     for(e=c,g=d;e<chmin.length&&g<chmax.length;e++,g++){
  33.                                             if(chmin[e]==chmax[g]){
  34.                                                     count++;                                  
  35.                                             }else{
  36.                                                     break;
  37.                                             }
  38.                                     }
  39.                                     if(count>time){
  40.                                             result=min.substring(c,e);
  41.                                             time=count;
  42.                                     }
  43.                             }
  44.                     }
  45.             }
  46.             System.out.println("两个字符串的最大最大公共字符串是:"+result);
  47.         }
  48. }
复制代码
回复 使用道具 举报

哎,阳哥啊,这学习压力大啊!
回复 使用道具 举报
陈宁 发表于 2014-12-11 13:17
哎,阳哥啊,这学习压力大啊!

慢慢来,基础一定后,以后的路走的才顺畅。
回复 使用道具 举报
就业指导-王震阳老师 发表于 2014-12-11 14:16
慢慢来,基础一定后,以后的路走的才顺畅。

嗯 ,是我浮躁了!
回复 使用道具 举报
过期了,领来练练手
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马