動態規劃 求兩個字串的最長公共子串行長度

2021-10-19 08:31:25 字數 763 閱讀 5496

動態規劃–求兩個字串的最長公共子串行長度

**:

#include

#include

#include

using

namespace std;

const

int maxn=

100;

const

int inf=int_max;

int memo[maxn]

[maxn]

;char s1[maxn]

;char s2[maxn]

;int

max_xulie

(int m,

int n)

int answer;

if(m==

0||n==0)

else

else

}memo[m]

[n]=answer;

//最後將結果記錄在備忘錄中。

return answer;

}int

main()

}//int max_answer=-inf;

/* for(int i=0;i<=m;i++)

}*/int max_answer=

max_xulie

(m,n)

;//直接呼叫m和n即可,因為這是自頂向下來執行的。

printf

("%d"

,max_answer);}

return0;

}

求兩個字串最長公共字串

package com.test 求兩個字串最長公共字串,演算法 兩個字串形成乙個矩陣,將兩個字元不匹配的位置標記為0,c i j 中兩個字元相匹配的位置標記為n,其中n c i 1 j 1 1,其中沿正對角線方向最長的序列為兩個字串的最長公共子串行 public class lcs public ...

java求兩個字串最長公共字串

思路 將str1的字元用兩個for迴圈用substring i,j 逐段截出,再與str2內字串比較,從而選出最長公共的字串,從而輸出字元內串 public class similarstring for int i 0 i str1.length 1 i system.out.println 兩字...

求兩個字串的最長公共子串

問題 有兩個字串str和str2,求出兩個字串中最長公共子串長度。比如 str acbcbcef,str2 abcbced,則str和str2的最長公共子串為bcbce,最長公共子串長度為5。演算法思路 1 把兩個字串分別以行和列組成乙個二維矩陣。2 比較二維矩陣中每個點對應行列字元中否相等,相等的...