/**
* @param {string} word1
* @param {string} word2
* @return {number}
*/
var minDistance = function(word1, word2) {
let m = word1.length+1
let n = word2.length+1
var dp = Array.from(Array(m),()=>Array(n).fill(0))//创建一个m*n的数组
for(let i = 0;i<=m-1;i++){//将第一列按照坐标赋值
dp[i][0] = i
}
for(let i = 0;i<=n-1;i++){//将第一行按照坐标赋值
dp[0][i] = i
}
//遍历这个二维数组
for(let i = 1;i<m;i++){
for(let j = 1;j<n;j++){
if(word1[i-1]===word2[j-1]){//如果这两个字符相等,则dp[i][j] = dp[i-1][j-1]
dp[i][j] = dp[i-1][j-1]
}
else{//不相等,则dp[i][j] = Math.min(dp[i-1][j-1],dp[i][j-1],dp[i-1][j])+1
dp[i][j] = Math.min(dp[i-1][j-1],dp[i][j-1],dp[i-1][j])+1
}
}
}
return dp[m-1][n-1]
};
07-10
1048
