力扣-72.编辑距离

题目描述

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。

你可以对一个单词进行如下三种操作:

插入一个字符

删除一个字符

替换一个字符

java 复制代码
class Solution {
    public int minDistance(String word1, String word2) {
        int[][] dp = new int[word1.length()+1][word2.length()+1];
        for(int j = 1; j <= word2.length(); j++){
            dp[0][j] = j;
        }
        for(int j = 1; j <= word1.length(); j++){
            dp[j][0] = j;
        }
        for(int i = 1; i <= word1.length(); i++){
            for(int j = 1; j <= word2.length(); j++){
                if(word1.charAt(i-1)==word2.charAt(j-1))
                    dp[i][j] = dp[i-1][j-1];
                else
                    dp[i][j] = Math.min(Math.min(dp[i-1][j-1],dp[i][j-1]),dp[i-1][j])+1;
            }
        }
        return dp[word1.length()][word2.length()];
    }
}

小结:注意dp数组的意义,以及在状态转移方程中需要同时考虑替换,删除,增添三种情况。

相关推荐
Turbo正则4 小时前
群论在AI中的应用概述
人工智能·算法·抽象代数
ysa0510304 小时前
【并查集】判环
c++·笔记·算法
Jerry4 小时前
KeetCode 44. 开发商购买土地
算法
Jerry5 小时前
KeetCode 58. 区间和
算法
Jerry6 小时前
LeetCode 209. 长度最小的子数组
算法
彦为君6 小时前
算法思维与经典智力题
java·前端·redis·算法
智能优化与强化学习6 小时前
Gym(Gymnasium)仿真环境详解(二):环境简介、入门算法、调参要点、核心挑战
算法·强化学习·gym·零基础入门·算法评估
mxwin6 小时前
Unity Shader exp 函数的算法与渲染应用
算法·unity·游戏引擎·shader
“码”力全开6 小时前
AI视频分析误报优化完整流程
算法·架构·边缘计算
深盾科技_Virbox6 小时前
深盾科技·Virbox产品体系全景解读:软件安全如何从加密锁走向全生命周期
java·大数据·算法·安全·软件需求