题解 | #计算字符串的编辑距离#
计算字符串的编辑距离
https://www.nowcoder.com/practice/3959837097c7413a961a135d7104c314
import java.util.Scanner
fun main(args: Array<String>) {
fun min(a: Int, b: Int) = Math.min(a, b)
val read = Scanner(System.`in`)
val res1 = read.nextLine()
val res2 = read.nextLine()
val dp = Array(res1.length + 1) { index1 ->
Array(res2.length + 1) {
when {
index1 == 0 -> it
it == 0 -> index1
else -> 0
}
}
}
for (i in 1..res1.length) {
for (j in 1..res2.length) {
if (res1[i-1] == res2[j-1]) {
dp[i][j] = dp[i - 1][j - 1]
} else {
dp[i][j] = min(min(dp[i - 1][j - 1] + 1, dp[i - 1][j] + 1), dp[i][j - 1] + 1)
}
}
}
println(dp[res1.length][res2.length])
}
