4月9日下午去神州数码面试算法答案----求字符串最大公串

4月9日下午去神州数码面试 写一个算法题目写错一个条件

现将自己写的正确代码附上 比网上找的那个好理解点

题目是求两字符串最大公串(无聊的题目,从网上找的,而且题目和网上题目一个字不差)

         private string ComS(string str1, string str2)
         {
             string str1t = "";
             string str2t = "";
             string tmp1 = "";
             string tmp2 = "";
             string rstr = "";
             int x = 0;
             if (str1.Length < str2.Length)
             {
                 str1t = str1;
                 str2t = str2;
             }

             else
             {
                 str2t = str1;
                 str1t = str2;
             }
             for (int i = 0; i <= str1t.Length - 1; i++)
             {
                 for (int j = 1; j <= str1t.Length-i; j++)
                 {
                         tmp1 = str1t.Substring(i, j);
                         for (int k = 0; k <= str2t.Length - 1; k++)
                         {
                            if (j <= str2t.Length - k)
                             {
                                 tmp2 = str2t.Substring(k, j);
                             }
                             else
                             {
                                 tmp2 = "";
                             }

                             if (tmp1 == tmp2)
                             {
                                 if (x < tmp1.Length)
                                 {
                                     rstr = tmp1;
                                     x = rstr.Length;
                                 }
                                 else
                                     continue;
                             }
                         }
                 }
             }
             return rstr;
         }

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值