日期:2014-05-17  浏览次数:20844 次

关于 从两个字符串中找出相同最长字符串的最优算法

string str1 = "abcdefdsafdsakl;jdsfkl;wjqr";
string str2 = "uiyoiweqrkjljdesakfvdefnxczv;ljsdaasd';oiew[r;slakjfa";


这个答案应该是 def

如何用算法找出这个字符串,要最优

------解决方案--------------------

路过。。看看
------解决方案--------------------

我的想法跟1楼一样,不过我还想到一个更简单的方法
FindMaxChildStr(str1,str2)
{
strTemp1=minLength(str1,str2)//首先比较长度,将长度短的赋给strTemp1
strTemp2=maxLength(str1,str2)//将长度长的赋给strTemp2
然后让字符串变量i遍历strTemp1字符串的子字符串
(如ABCDEFG,
然后A,AB,ABC。。,AB。。G;
B,BC,BC..G;
C,CD.....)
然后让i遍历strTemp2,如果i存在于strTemp2中就保存在Arraylist对象maxChildStr中,
直至最后,比较值的长度就会得到最大的子字符串了。
}
C#语法我不太会,一会我用vb.net写一个