动态规划
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String t = in.nextLine();
String p = in.nextLine();
System.out.println(string_compare(t, p));
}
static int string_compare(String s, String t) {
int i, j;
char s_i, t_j;
int[][] m = new int[s.length() + 1][t.length() + 1];
for (i = 0; i <= s.length(); i++) {
m[i][0] = i;
}
for (j = 0; j <= t.length(); j++) {
m[0][j] = j;
}
for (i = 1; i <= s.length(); i++) {
for (j = 1; j <= t.length(); j++) {
m[i][j] = Math.min(m[i - 1][j] + 1, m[i][j - 1] + 1);//m[i - 1][j] + 1, m[i][j - 1] + 1表示s或t有个插入
m[i][j] = Math.min(m[i][j], m[i - 1][j - 1] + (s.charAt(i - 1) == t.charAt(j - 1) ? 0: 1));//m[i - 1][j - 1]+1表示替换
}
}
return m[s.length()][t.length()];
}
}