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 }