This commit is contained in:
2026-07-23 16:56:50 +08:00
parent 124ad9afdf
commit 92784ffb0f
36 changed files with 2015 additions and 608 deletions
+58
View File
@@ -0,0 +1,58 @@
package top100liked
import (
"testing"
)
// https://leetcode.cn/problems/edit-distance/?envType=study-plan-v2&envId=top-100-liked
// 72. 编辑距离
//
// 给你两个单词 `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')
//
// 提示:
// - `0 <= word1.length, word2.length <= 500`
// - `word1` 和 `word2` 由小写英文字母组成
//
func minDistance(word1 string, word2 string) int {
}
func TestMinDistance(t *testing.T) {
cases := []struct {
name string
word1 string
word2 string
want int
}{
{"example1", "horse", "ros", 3},
{"example2", "intention", "execution", 5},
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
got := minDistance(c.word1, c.word2)
if got != c.want {
t.Errorf("got %v, want %v", got, c.want)
}
})
}
}