leetcode 编辑距离 golang实现
描述 给定两个单词word1 和word2,计算出将word1转换成word2 所使用的最少操作数。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例1: 输入: word1 = "horse", word2 = "ros" 输出: 3 解释: horse -> rorse (将 'h' 替换为 'r') rorse -> rose (删除 'r') rose -> ros (删除 'e') 示例2: 输入: word1 = "intention", word2 = "execution" 输出: 5 解释: intention -> inention (删除 't') inention -> enention (将 'i' 替换为 'e') enention -> exention (将 'n' 替换为 'x') exention -> exection (将 'n' 替换为 'c') exection -> execution (插入 'u') 思路 动态规划问题 1. 找公式 dp[i][j] 代表 w1 的前i的字符 转成w2 前j个字符需要的步骤 dp[i-1][j] 代表 w1 的前i-1的字符 转成w2 前j个字符需要的步骤 此时w1执行删除第i个字符串操作即可变成w2 dp[i][j-1] 代表 w1 的前i-1的字符 转成w2