package main
import "fmt"
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param str1 string字符串
* @param str2 string字符串
* @return int整型
*/
func editDistance( str1 string , str2 string ) int {
dp := make([][]int, len(str1) + 1)
for i:=0;i<=len(str1);i++ {
dp[i] = make([]int, len(str2) + 1)
dp[i][0] = i
}
for i:=0;i<=len(str2);i++ {
dp[0][i] = i
}
fmt.Println(dp)
for i:=1;i <= len(str1);i++ {
for j:=1; j <= len(str2);j++ {
if str1[i-1] != str2[j-1] {
dp[i][j] = min(min(dp[i-1][j-1], dp[i-1][j]), dp[i][j-1]) + 1
} else if str1[i-1] == str2[j-1] {
dp[i][j] = dp[i-1][j-1]
}
}
}
fmt.Println(dp)
return dp[len(str1)][len(str2)]
}
func min(a,b int) int {
if a < b {
return a
}
return b
}