最長公共子串行空間優化演算法

2021-06-09 14:57:04 字數 323 閱讀 7337

題目鏈結

受一位牛神啟發,利用兩個一維陣列替換二維陣列,陣列滾動後移,從而實現節省空間的目的。

#define maxn 1000+5

#include #include char str1[maxn],str2[maxn];

int cnt1[maxn],cnt2[maxn];

void solve()

for(k=1;k<=l2;k++) cnt2[k]=cnt1[k];

}printf("%d\n",cnt2[l2]);

}int main()

演算法 最長公共子串行

好久沒做演算法題了,現在發現自己的演算法能力非常薄弱,所以特意練練,順便做個筆記方便以後檢視。今天整理一下最長公共子串行,最長公共子串行的問題常用於解決字串的相似度,是乙個非常實用的演算法,作為碼農,此演算法是我們的必備基本功。最長公共子串行,是指兩個字串可具有的長度最大的公共的子串行。聽著好像有點...

演算法 最長公共子串行

題目 給定兩個字串 text1 和 text2,返回這兩個字串的最長公共子串行的長度。乙個字串的 子串行 是指這樣乙個新的字串 它是由原字串在不改變字元的相對順序的情況下刪除某些字元 也可以不刪除任何字元 後組成的新字串。例如,ace 是 abcde 的子串行,但 aec 不是 abcde 的子串行...

最長公共子串行 最長公共子串

1 最長公共子串行 採用動態規劃的思想,用乙個陣列dp i j 記錄a字串中i 1位置到b字串中j 1位置的最長公共子串行,若a i 1 b j 1 那麼dp i j dp i 1 j 1 1,若不相同,那麼dp i j 就是dp i 1 j 和dp i j 1 中的較大者。class lcs el...