前一段时间去一家公司面试碰到一个是这样的问题,有点意思
说出来大家解解看
字符串 a 和 b 
中有相同的一段字符串c
问,把c找出来的办法总共有多少种?

解决方案 »

  1.   

    roapzone(宗璞)
    写出来大家学习一下怎么样?
      

  2.   

    guag(天知道) 呵呵
    你这么喜欢做面试题的也不做了??
      

  3.   

    这个题目不好, 估计出题目的人无一定的答案, 答案实在太多了.
    首先可以使用正则表达式法, 二就是字符串的相关算法, 再是char的, 再是...
      

  4.   

    TO 樓主:
    你的問題是不是,字符串C是未知的?
    我比較笨,想到一個直接的方法,,string matchstring;
    for(i=0;i<A.length;i++)
        for(j=i;j<A.length;j++)
        {
            matchstring=A.substring(i,j);
            if(B.indexOf(matchstring!=-1)
            {
                 //找到一共同的matchstring,在這裏可以作適當的處理....
             }
         }
      

  5.   

    这个问题不是很简单么……循环a或b的任何一个,从1一直到他的长度,取出n个字符串形成一个数组,然后在b(或a)里用字符串函数indexof查找不就行了……当然这是最笨的办法……
      

  6.   

    以下有一个对以上方法的改进,请大家给点意见..
    string matchstring;
    for(i=0;i<A.length;i++)
        for(j=i;j<A.length;j++)
        {
            matchstring=A.substring(i,j);
            if(B.indexOf(matchstring!=-1)
            {
                 //找到一共同的matchstring,在這裏可以作適當的處理....
             }
             else
             {
              break;//退出這一層循環,因為如果A前面的字符如果不能在B字符串中找到匹配,
                    //後面也不可能找得到
             }
         }
      

  7.   

    TO:stoneyu(小赖) 
      你这种方法是查找在A和B中有多少个C
      但楼主的意思 不是 找 在A和B中C的 方法吗?
      是我没有看懂楼主 意思?
      

  8.   

    TO: superb_aby(1005) 
    是啊,樓主是在找多種這樣的方法,請各位開動腦筋給出一些來..
      

  9.   

    char or string ?最慢的方法应该是遍历吧?
      

  10.   

    比如 'a' 
    A 中 abcd
    B 中 abcd 那么  char 'a' 'b' 'c' 'd' 都是的
    如果是string 那么 string 'ab' 'abc' 'abcd' 'bc' 'bcd' 'cd'   'a' 'b' 'c' 'd' 都是的
      

  11.   

    1.正则表达式
    2.使用string.substring
    这是最经典最简单的算法。
    还可以自己写匹配算法。太多了,呵呵。