Files
leetcode/top-100-liked/95/leetcode_test.go
T
2026-07-23 16:56:50 +08:00

59 lines
1.4 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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)
}
})
}
}