藍橋杯 最大公共子串

2021-09-02 20:03:01 字數 596 閱讀 5967

描述

大公共子串長度問題就是:求兩個串的所有子串中能夠匹配上的最大長度是多少。

比如:"abcdkkk" 和 "baabcdadabc",可以找到的最長的公共子串是"abcd",所以最大公共子串長度為4。

下面的程式是採用矩陣法進行求解的,這對串的規模不大的情況還是比較有效的解法。

請分析該解法的思路,並補全劃線部分缺失的**。

#include #include #define n 256

int f(const char* s1, const char* s2)}}

return max;

}int main()

輸入填空

輸出

答案:a[i-1][j-1]+1;

如圖矩陣所示,a初始為0,如果s1[i-1]==s2[j-1],a[i][j] = a[i-1][j-1] + 1.

對角線

藍橋杯 最大公共子串

最大公共子串長度問題就是 求兩個串的所有子串中能夠匹配上的最大長度是多少。比如 abcdkkk 和 baabcdadabc 可以找到的最長的公共子串是 abcd 所以最大公共子串長度為4。下面的程式是採用矩陣法進行求解的,這對串的規模不大的情況還是比較有效的解法。請分析該解法的思路,並補全劃線部分缺...

2017藍橋杯最大公共子串(C B組)

題目 最大公共子串長度問題就是 求兩個串的所有子串中能夠匹配上的最大長度是多少。比如 abcdkkk 和 baabcdadabc 可以找到的最長的公共子串是 abcd 所以最大公共子串長度為4。下面的程式是採用矩陣法進行求解的,這對串的規模不大的情況還是比較有效的解法。請分析該解法的思路,並補全劃線...

最大公共子串行,最大公共子串,最大回文子串

1 兩個字串中最長公共子串行 該問題是動態規劃的經典問題,找出的公共序列不一定是連續的,參考資料很多,這裡就貼出公式和 做個簡單的筆記。設序列a,b的長度分別為n和m,l i,j 為a i b j 的最長公共子串行長度,有遞推公式 時間複雜度為o mn 如下 define n 50 intlcs c...