zoukankan      html  css  js  c++  java
  • 洛谷2758:编辑距离——题解

    字符串编辑距离板子题,留一个底,方便日后。

    https://www.luogu.com.cn/problem/P2758

    设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:

    1、删除一个字符;

    2、插入一个字符;

    3、将一个字符改为另一个字符;

    !皆为小写字母!

    题解网上搜一大堆……其实光看代码也都能看懂这道题。

    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    const int N=2005;
    char s1[N],s2[N];
    int f[N][N],l1,l2;
    int main(){
        scanf("%s%s",s1+1,s2+1);
        l1=strlen(s1+1),l2=strlen(s2+1);
        for(int i=0;i<=l1;i++)f[i][0]=i;
        for(int i=0;i<=l2;i++)f[0][i]=i;
        for(int i=1;i<=l1;i++){
            for(int j=1;j<=l2;j++){
                if(s1[i]==s2[j])f[i][j]=f[i-1][j-1];
                else f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))+1;
            }
        }
        printf("%d
    ",f[l1][l2]);
        return 0;
    }

    +++++++++++++++++++++++++++++++++++++++++++

     +本文作者:luyouqi233。               +

     +欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+

    +++++++++++++++++++++++++++++++++++++++++++

  • 相关阅读:
    20140327工作室日志
    20140326学习工作室日志
    标准连接池实现
    JDBC
    监听器
    数据表多对多
    MATLAB 中几个颜色空间的坐标范围
    RabbitMQ(一)
    Web Service之Axis(二)
    Web Service之CXF(四)
  • 原文地址:https://www.cnblogs.com/luyouqi233/p/12368066.html
Copyright © 2011-2022 走看看