首页 > 试题广场 >

编辑距离(二)

[编程题]编辑距离(二)
  • 热度指数:38214 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。

数据范围:
要求:空间复杂度 ,时间复杂度
示例1

输入

"abc","adc",5,3,2

输出

2
示例2

输入

"abc","adc",5,3,100

输出

8

备注:

头像 漫漫云天自翱翔
发表于 2021-07-18 20:47:12
精华题解 题解一:动态规划 动态转移方程分析图示: 复杂度分析: 时间复杂度:O(MN) 空间复杂度:O(MN) 实现如下: class Solution { public: /** * min edit cost * @param st 展开全文
头像 蒙牛麦片
发表于 2021-07-22 15:23:21
精华题解 最小编辑代价 题意分析: 题解一(动态规划): 最优子结构:设输入序列为和,长度分别为m和n。假设为两个序列和在位置和位置的最短编辑数。如果两个序列的最后一个字符相等(或),则 如果两个序列的最后一个字符不相等(),则有三种选择:取三种选择最小操作数 如有序列“AGAB” 和“GXAYB”。 它们 展开全文
头像 LaN666
发表于 2021-07-19 01:43:17
精华题解 动态规划dp函数 + 记忆数组 算法思路先定义状态,匹配与不匹配两种。当不匹配时,有三种选择: 插入,删除,替换。dp(i, j)为str1[0...i]和str2[0..j]字符串为了匹配做出的代价。对于给定的字符串str1,str2,从右到左,即自顶向下进行匹配。会出现两种情况: 当前字符匹 展开全文
头像 下一次什么时候可以修改昵称
发表于 2020-10-28 22:24:25
原题插入删除替换代价都是1 算法 1.动态规划:dp[i][j]表示word1的前i个字符编辑成word2的前j个字符需要的最小操作数 2.初始状态:dp[i][0] = i,i次删除;dp[0][i] = i,i次插入 3.过渡公式: 当i字符等于j字符时:dp[i][j] = dp[i-1] 展开全文
头像 有理想的咕咕
发表于 2021-01-07 21:01:07
最小编辑代价:给定两个字符串str1和str2,再给定三个整数ic,dc和rc,分别代表插入、删除和替换一个字符的代价,请输出将str1编辑成str2的最小代价。 较难的动态规划题目(主要要着眼于三个基本操作带来的操作): 如果选择将str1的前i个字符转换为str2的前j个字符则需要分类讨论-& 展开全文
头像 人定胜天~
发表于 2021-02-02 16:50:05
参考链接:https://leetcode-cn.com/problems/edit-distance/solution/bian-ji-ju-chi-by-leetcode-solution/我们可以对任意一个单词进行三种操作:在单词 A 中插入一个字符;在单词 A 中插入一个字符;修改单词 A 展开全文
头像 未来0116
发表于 2021-07-10 10:53:49
一.题目描述NC35最小编辑代价题目链接:https://www.nowcoder.com/practice/05fed41805ae4394ab6607d0d745c8e4tpId=196&&tqId=37134&rp=1&ru=/activity/oj&q 展开全文
头像 子夜降晴空
发表于 2021-03-25 17:46:51
class Solution { public: int minEditCost(string &str1, string &str2, int &ic, int &dc, int &rc) { int num1 = str1.size 展开全文
头像 奇怪的小黄狗
发表于 2022-02-28 15:36:56
public: /** * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cos 展开全文
头像 牛客92485225号
发表于 2021-10-20 14:42:17
最小编辑代价 动态规划 dp[i][j]的值 代表str1[0...i-1] 编辑成str2[0...j-1] 边界条件 dp[0][0] = 0; 2 . 矩阵dp第一列即dp[0...i-1][0] 是把str1的字符全部删除为代价 dp[i][0] = dc*i 矩阵dp第一行 展开全文
头像 勤奋的猫
发表于 2022-06-20 18:26:28
import java.util.*; public class Solution {     /**      * min edit  展开全文
头像 业精于勤110
发表于 2022-05-21 23:33:55
【二维dp】 观察题意,考点主要是编辑距离,基本可以确定使用dp 本文明确要求str1转化到str2,所以在初始化时需要注意,i>j时,必须dc;i<j时,必须ic 当两个对应的字符相等时,dp[i][j]=dp[i-1][j-1] 当不相等时,则需要找到一种最小的变化方式,dp[i][ 展开全文
头像 牛客513758号
发表于 2021-05-16 10:57:53
class Solution: def minEditCost(self , str1 , str2 , ic , dc , rc ): # write code here len1, len2 = len(str1), len(str2) d 展开全文