如何找出兩個字串中最長的相同子串

2025-03-28 20:05:17 字數 1731 閱讀 9561

用j**a編寫乙個程式實現,計算兩個字串最長相同子串的長度。

1樓:網友

(int j = i; j < j++)

改為(int j = i; j < j++)

因為substring(start, end)方法中end是不取值的,也就是結尾取end-1,你可以試試兩個相同字串比較會少找乙個。

2樓:烏微月

這個我寫過哎!等等。

public class strstatistictmpstr=,i+count);

flag=contains(str1,tmpstr);

tmpstr="+tmpstr);

retstr="+retstr);

if(!flag)

return retstr;

public boolean contains(string str1,string str2)

return false;

public static void main(string args)}

c++中怎麼實現兩個字串找出其中所有相同的字元子串

3樓:網友

(1)最原始的方法:窮舉法,在a中找b的所有子串是否存在;

2)使用stl的方法:用乙個set來儲存a的所有子串,再遍歷b的所有子串,看看是否存在於set中;

求給分啊 ,!

4樓:五霸春秋

好多演算法除了樸素的匹配演算法之外,還有kmp演算法等等,詳細可以參考《演算法導論》(機械工業出版社)的,這本書裡面介紹了很多經典演算法。

找出兩個字串中相同的子串,用j**a語言實現

5樓:

**如下,我測試過了。。。希望滿足你的要求import ;

import ;

import ;

import ;

public class test

/求s2的子串。

for(int i = 1;i<;i++)"\"aabbc\"的子串 : " + sub1);

"abbcc\"的子串 : " + sub2);

for(string s: sub1)

if(;for(string s: sub2)

if(;相同的子串 : " + result);}希望能幫到你。。。仍有問題可以hi我。。。

6樓:耶穌協議

好像是樓上說的那樣,

c語言程式設計 查詢兩字串的最長公共子串 如"i am a student."與"r u a student?"最長公共子串是"student"

7樓:

對於字串,s1,s2,對於位置i,位置j,如果s1[i] == s2[j] ,max_common_len(s1,i,s2,j) = max_common_len(s1,i+1,s2,j+1) +1;

如果s1[i]!=s2[j],max_common_len(s1,i,s2,j) = max( max_common_len(s1,i,s2,j+1) ,max_common_len(s1,i+1,s2,j) )

所以接下來就好做了。

方法1:直接按以上來遞迴,直到遇到'\0',返回0方法2:給乙個max_common_len的矩陣,從右下角往左上角走,將上面寫成迭代的形式。

C語言小白問題,求兩個字串的最長公共英文單詞

看不誒 呵呵 這些都不知道怎麼回事 不過我可以給你乙個建議 既然是兩句話中取最長的單詞 那麼你先擷取單詞 然後儲存到兩個變數中,進行比較 一組中最長的和另外一組中最長的進行比較就完成了 還能輸出最長的是哪個單詞,在哪句話中 c語言問題,小白求教 x y z的結果是這麼算的,先算x y,13大於8,結...

php關於兩個字串的比較,在pl sql怎麼判斷兩個字串是否相等

剛寫,例子如下 a abcde12 b abcdf6 echo var dump diffstr a,b echo 比較字串不同的字元 引數 str1 第乙個字串,str2 第二個字串 返回值 不同字串的陣列,function diffstr str1,str2 elseif num2 k else...

c語言從鍵盤輸入兩個字串,將字串連線到字串的後面,並輸出連線

include include int main char s1 char s2 char output printf please input the first string scanf s s1 printf please input the second string scanf s s2 ...