首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
编辑距离
[编程题]编辑距离
热度指数:14706
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
给定两个单词word1和word2,请计算将word1转换为word2至少需要多少步操作。
你可以对一个单词执行以下3种操作:
a)在单词中插入一个字符
b)删除单词中的一个字符
c)替换单词中的一个字符
示例1
输入
"b",""
输出
1
示例2
输入
"ab","bc"
输出
2
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(8)
邀请回答
收藏(131)
分享
提交结果有问题?
55个回答
5篇题解
开通博客
哈哈哈哈鹅
发表于 2021-11-17 19:30:26
可用二维数组i,j表示从word1的前i个字符到word2的前j个字符 dp[i][j]表示由word1的前i个字符转换为word2的前j个字符的最小编辑距离。 状态公式: 有两种情况: 1.当第i个字符和第j个字符相等时,那么从i到j的最小编辑距离只需要计算前i-1个字符到前j-1个字符的最小编
展开全文
新时代——农民工
发表于 2023-03-13 20:34:36
import java.util.*; /** 编辑距离 * 给定两个单词word1和word2,请计算将word1转换为word2至少需要多少步操作。 * 你可以对一个单词执行以下3种操作: * a)在单词中插入一个字符 * b)删除单词中的一个字符 * c)替换单词中的一个字符
展开全文
华科不平凡
发表于 2020-08-30 18:55:28
dp[i][j]表示由word1的前i个字符转换为word2的前j个字符的最小编辑距离。状态公式: 如果word1[i-1] = word2[j-1],dp[i][j] = dp[i-1][j-1] 如果word1[i-1] != word2[j-1], dp[i][j] = min(dp[i-1
展开全文
牛客Yhq
发表于 2023-03-25 11:09:15
// 状态:F(i,j)-->word1的前i个字符变成word2的前j个字符 // 转移方程:通过一步变成F(i,j)的状态有三种: // F(i-1,j)删除word1第i个字符 // F(i,j-1)插入一个字符即word2的第j个字符 //
展开全文
牛马ID
发表于 2022-03-26 09:29:45
动态规划思路 : 定义状态,f(i,j) 表示 word1 前 i 个字符(不包括 i) ,word2 前 j 个字符(不包括 j),转换最少的步骤! 确定状态转移方程(即迭代方向) f(i,j) = if(word1[i-1] != word2[j-1]) min(f(i-1,j-
展开全文
问题信息
动态规划
难度:
55条回答
131收藏
26984浏览
热门推荐
通过挑战的用户
查看代码
爱看剧的cod...
2023-03-08 14:55:40
牛客32878...
2023-03-06 16:46:17
牛客43677...
2023-01-25 22:45:41
纸鸾
2022-11-11 10:43:18
她说这不是爱
2022-09-14 10:34:55
相关试题
明明的随机数
数组
评论
(3898)
来自
华为研发工程师编程题
进制转换
字符串
评论
(2541)
来自
华为研发工程师编程题
密码验证合格程序
数组
字符串
模拟
评论
(1414)
编译方法中,动态存储分配的含义是:()
编译和体系结构
评论
(2)
来自
乐视2017秋招开发工程...
闪速存储器能提供高性能、低功耗、字...
编程基础
评论
(1)
编辑距离
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * * @param word1 string字符串 * @param word2 string字符串 * @return int整型 */ public int minDistance (String word1, String word2) { // write code here } }
class Solution { public: /** * * @param word1 string字符串 * @param word2 string字符串 * @return int整型 */ int minDistance(string word1, string word2) { // write code here } };
# # # @param word1 string字符串 # @param word2 string字符串 # @return int整型 # class Solution: def minDistance(self , word1 , word2 ): # write code here
/** * * @param word1 string字符串 * @param word2 string字符串 * @return int整型 */ function minDistance( word1 , word2 ) { // write code here } module.exports = { minDistance : minDistance };
# # # @param word1 string字符串 # @param word2 string字符串 # @return int整型 # class Solution: def minDistance(self , word1 , word2 ): # write code here
package main /** * * @param word1 string字符串 * @param word2 string字符串 * @return int整型 */ func minDistance( word1 string , word2 string ) int { // write code here }
"b",""
1
"ab","bc"
2