解题思路:
注意事项:
参考代码:
#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 人评分
简单的a+b (C语言代码)浏览:548 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1533 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:774 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:464 |
本人酷爱递归实现很多问题,这里也是浏览:556 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:632 |
WU-整数平均值 (C++代码)浏览:1244 |
【金明的预算方案】 (C++代码)浏览:843 |
1011题解浏览:765 |
1126题解浏览:594 |