方法一、递归
采用递归的方法,代码简单,但是速度比较慢,当字符串比较大的时间,多次递归会计算一些重复的过程,因此速度很很慢。
#include<iostream>
using namespace std;
int LCSLength(int i, int j);
string x, y;
int lenx, leny;
int main()
{
while(cin >> x >> y){
lenx = x.length();
leny = y.length();
int result = LCSLength(0, 0);
cout << result << endl;
}

本文介绍了两种方法解决求两个字符串的最长公共子序列问题,包括递归和动态规划策略。动态规划方法利用二维数组记录子问题的解,避免了递归时的重复计算,具有更好的效率。算法的时间复杂度为Θ(m + n),其中m和n分别为字符串的长度。
最低0.47元/天 解锁文章
799

被折叠的 条评论
为什么被折叠?



