解题思路:
注意事项:
参考代码:
#include <iostream>
using namespace std;
int dp[10001][1001] = {0};
int main()
{
string a, b;
cin >> a >> b;
int m = a.size();
int n = b.size();
int res = 0;
for (int i = 1; i <= m; i++) {
for (int j = 1; j <= n; j++) {
if (a[i-1] == b[j-1]) {
if (dp[i-1][j-1] == j-1) {
dp[i][j] = j;
}
}
else {
dp[i][j] = dp[i-1][j];
}
res = max(res, dp[i][j]);
}
}
cout << res << endl;
return 0;
}
0.0分
0 人评分
C语言训练-求函数值 (C语言代码)浏览:976 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:504 |
众数问题 (C语言代码)浏览:911 |
简单的a+b (C语言代码)浏览:457 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:839 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:592 |
JAM计数法 (C语言代码)浏览:721 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:841 |
1392题解(大数相加)浏览:640 |
C语言训练-斐波纳契数列 (C语言代码)浏览:540 |