acwing 902 最短编辑距离

简介: acwing 902 最短编辑距离

活动 - AcWing

优题解:AcWing 902. 最短编辑距离 - AcWing

一共有三个操作方式:

1.删除操作:插入操作之前即前 i - 1 个和 前 j 已经排好 即 f[i-1][j] + 1 ;

2.插入操作:删除操作之前即前 i 个和 前 j - 1 个已经拍好即 f[i][j-1] + 1 ;

3:替换操作: 替换操作之前即前  i-1 个和前 j-1个已经排好


                       这时候又要分成两种情况:1.a[i]和b[j] 相同 则f[i-1][j-1]


                                                                   2.a[i]和b[j] 不相同则 f[i-1][j-1] + 1  

下面是一些细节问题,不想一一再过了:

#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
const int N = 1010 ,INF = 1e9 ;;
int f[N][N] ;
char a[N] , b[N] ;
int n,m ;
int main(){
  cin >> n >> a+1 ;
  cin >> m >> b+1 ;
 
  for(int i = 1 ;i <= n ; i++ ) f[i][0] = i ;//第二个字符串长度为0 即将第一个字符串全部删除 
  for(int i = 1 ;i <= m ; i ++) f[0][i] = i ;//第一个字符串长度为0 即全部插入和第二个字符串删除的 
  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-1][j-1] , f[i][j]) ;
      else f[i][j] = min(f[i-1][j-1] + 1 , f[i][j]);
    }
  }
  cout << f[n][m] << endl ;
  return 0 ;
}  

目录
相关文章
|
算法 Java 调度
混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
666 0
混合算法(GA+TS)求解作业车间调度问题(JSP)-禁忌搜索部分
|
存储 JavaScript 前端开发
js中的数据类型
JavaScript 中的数据类型包括五种基本类型(String、Number、Undefined、Boolean、Null)和三种引用类型(Object、Array、Function,以及ES6新增的Symbol)。基本类型直接存储值,引用类型存储的是指向实际数据的内存地址。了解它们的区别对于掌握 JavaScript 的变量赋值和函数传参至关重要。
286 1
|
SQL 关系型数据库 API
SQLAlchemy模型使用
SQLAlchemy模型使用
SQLAlchemy模型使用
|
编解码 定位技术
航摄比例尺、成图比例尺、地面分辨率与航摄设计用图比例尺
航摄比例尺、成图比例尺、地面分辨率与航摄设计用图比例尺
789 0
|
存储 监控 物联网
MQTT协议问题之OTA升级包下载如何解决
MQTT协议是一个轻量级的消息传输协议,设计用于物联网(IoT)环境中设备间的通信;本合集将详细阐述MQTT协议的基本原理、特性以及各种实际应用场景,供用户学习和参考。
669 3
|
机器学习/深度学习 自然语言处理
在模型训练中,如何平衡通用性和特定任务的需求?
在模型训练中,如何平衡通用性和特定任务的需求?
|
消息中间件
【图解RabbitMQ-6】说说交换机在RabbitMQ中的四种类型以及使用场景
【图解RabbitMQ-6】说说交换机在RabbitMQ中的四种类型以及使用场景
666 1
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的贵工程寝室快修附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的贵工程寝室快修附带文章源码部署视频讲解等
96 1
|
JSON Java 数据格式
No converter for [class java.util.LinkedHashMap] with preset Content-Type 'text/json;charset=UTF-8']问题
【5月更文挑战第21天】No converter for [class java.util.LinkedHashMap] with preset Content-Type 'text/json;charset=UTF-8']问题
3878 0
|
缓存 移动开发 小程序
走进小程序【七】微信小程序【常见问题总结】
走进小程序【七】微信小程序【常见问题总结】
668 1
走进小程序【七】微信小程序【常见问题总结】