最长公共子序列

it2026-01-07  6

最大公共子序列问题:就是两个字符串相似的最大子符长度!!!。 这个问题关键还是在于把子问题与原问题的桥梁求出来: 如上式中,当x i =y 于是就有 否则: 于是结合以上两种情况便可得出代码: #ifndef MAX_LENGTHCOMMSUBSTR_H#define MAX_LENGTHCOMMSUBSTR_H#define max(a,b) a>b? a:bint maxLengthComSubSTR(char *a_array,char *b_array,int a_index,int b_index){ if(a_index==0||b_index==0){ return 0; } if(a_array[a_index-1]==b_array[b_index-1]){ return maxLengthComSubSTR(a_array,b_array,a_index-1,b_index-1)+1; }else{ return max(maxLengthComSubSTR(a_array,b_array,a_index-1,b_index),maxLengthComSubSTR(a_array,b_array,a_index,b_index-1)); }}#endif 测试代码: int main(){ char *str1="BDCABA"; char *str2="ABCBDAB"; std::cout<<maxLengthComSubSTR(str1,str2,6,7)<<std::endl; } 来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/yml435/p/4655534.html

相关资源:最长公共子序列_动态规划
最新回复(0)