首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
编辑距离(二)
[编程题]编辑距离(二)
热度指数: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
备注:
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(624)
分享
提交结果有问题?
69个回答
65篇题解
开通博客
漫漫云天自翱翔
发表于 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
展开全文
问题信息
动态规划
字符串
难度:
69条回答
624收藏
9564浏览
热门推荐
通过挑战的用户
查看代码
耀zzzzzzz
2023-03-04 17:15:25
要双休的哈里很失落
2023-01-28 13:51:28
牛客56724...
2022-12-31 16:55:23
山代只因
2022-09-28 14:40:36
月沐群岚
2022-09-27 19:45:47
相关试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
编辑距离(二)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ public int minEditCost (String str1, String str2, int ic, int dc, int rc) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ int minEditCost(string str1, string str2, int ic, int dc, int rc) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # min edit cost # @param str1 string字符串 the string # @param str2 string字符串 the string # @param ic int整型 insert cost # @param dc int整型 delete cost # @param rc int整型 replace cost # @return int整型 # class Solution: def minEditCost(self , str1 , str2 , ic , dc , rc ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ public int minEditCost (string str1, string str2, int ic, int dc, int rc) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ function minEditCost( str1 , str2 , ic , dc , rc ) { // write code here } module.exports = { minEditCost : minEditCost };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # min edit cost # @param str1 string字符串 the string # @param str2 string字符串 the string # @param ic int整型 insert cost # @param dc int整型 delete cost # @param rc int整型 replace cost # @return int整型 # class Solution: def minEditCost(self , str1: str, str2: str, ic: int, dc: int, rc: int) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ func minEditCost( str1 string , str2 string , ic int , dc int , rc int ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ int minEditCost(char* str1, char* str2, int ic, int dc, int rc ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # min edit cost # @param str1 string字符串 the string # @param str2 string字符串 the string # @param ic int整型 insert cost # @param dc int整型 delete cost # @param rc int整型 replace cost # @return int整型 # class Solution def minEditCost(str1, str2, ic, dc, rc) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ def minEditCost(str1: String,str2: String,ic: Int,dc: Int,rc: Int): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ fun minEditCost(str1: String,str2: String,ic: Int,dc: Int,rc: Int): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ public int minEditCost (String str1, String str2, int ic, int dc, int rc) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ export function minEditCost(str1: string, str2: string, ic: number, dc: number, rc: number): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ func minEditCost ( _ str1: String, _ str2: String, _ ic: Int, _ dc: Int, _ rc: Int) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * min edit cost * @param str1 string字符串 the string * @param str2 string字符串 the string * @param ic int整型 insert cost * @param dc int整型 delete cost * @param rc int整型 replace cost * @return int整型 */ pub fn minEditCost(&self, str1: String, str2: String, ic: i32, dc: i32, rc: i32) -> i32 { // write code here } }
"abc","adc",5,3,2
2
"abc","adc",5,3,100
8