题目描述
blablabla
样例
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1010;
char a[N], b[N];
int n, m, f[N][N];
int main(){
cin >> n >> a+1 >> m >> b+1;
for(int i = 0; i<=n; i++) f[i][0] = i; //当a的前0个要和b的前i个相等,要进行i步操作
for(int i = 0; i<=m; i++) f[0][i] = i;
for(int i = 1; i<=n; i++){
for(int j = 1; j<=m; j++){
f[i][j] = min(f[i-1][j]+1, f[i][j-1]+1);
if(a[i] == b[j]) f[i][j] = min(f[i][j], f[i-1][j-1]);
else f[i][j] = min(f[i][j], f[i-1][j-1]+1);
}
}
cout << f[n][m] <<endl;
return 0;
}
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla