欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > GESP2023年12月认证C++七级( 第一部分选择题(6-10))

GESP2023年12月认证C++七级( 第一部分选择题(6-10))

2025/4/16 14:37:16 来源:https://blog.csdn.net/weixin_60445850/article/details/147196572  浏览:    关键词:GESP2023年12月认证C++七级( 第一部分选择题(6-10))

选择题第八题:

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;const int MAXN = 1005; // 假设字符串长度不超过1000
char s1[MAXN], s2[MAXN];
int dp[MAXN]; // 一维DP数组int main() {while (cin >> s1 >> s2) {int n1 = strlen(s1), n2 = strlen(s2);memset(dp, 0, sizeof(dp)); // 初始化dp数组// 遍历s1的每一个字符for (int i = 1; i <= n1; ++i) {int prev = 0; // 保存 dp[j-1] 在更新前的值,即 dp[i-1][j-1]for (int j = 1; j <= n2; ++j) {int temp = dp[j]; // 临时保存当前 dp[j],用于下一轮 previf (s1[i - 1] == s2[j - 1]) {dp[j] = prev + 1; // 当前字符匹配,继承左上角的值 +1} else {dp[j] = max(dp[j], dp[j - 1]); // 不匹配,取左或上的最大值}prev = temp; // 更新 prev 为当前 dp[j] 的旧值}}cout << dp[n2] << endl; // 最终答案}return 0;
}

空间压缩版参考程序

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词