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;
}