function similar (string1, string2) {
if (!string1 || !string2) return 0
const length1 = string1.length
const length2 = string2.length
const length = length1 > length2 ? length1 : length2
const matrix = []
for (let i = 0; i <= length1; i++) {
matrix[i] = []
matrix[i][0] = i
}
for (let i = 0; i <= length2; i++) {
matrix[0][i] = i
}
for (let i = 1; i <= length1; i++) {
const char1 = string1.charAt(i - 1)
for (let j = 1; j <= length2; j++) {
const char2 = string2.charAt(j - 1)
const cost = char1 === char2 ? 0 : 1
const top = matrix[i][j - 1] + 1
const left = matrix[i - 1][j] + 1
const angle = matrix[i - 1][j - 1] + cost
matrix[i][j] = Math.min(left, top, angle)
}
}
console.log(matrix)
let result = (1 - matrix[length1][length2] / length)
return result
}
const a = similar('把“冰”字去掉两点,就成了“水”', '把冰去掉两点')
console.log(a)