题解 | #计算字符串的编辑距离#

计算字符串的编辑距离

http://www.nowcoder.com/practice/3959837097c7413a961a135d7104c314

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int len = Leven(in.next(), in.next());
            System.out.println(len);
        }
    }

    public static int Leven(String a, String b){
        int[][] arr = new int[a.length()+1][b.length()+1];
        for(int j=0; j<=b.length(); j++){
            arr[0][j] = j;
        }
        for(int i=0; i<=a.length(); i++){
            arr[i][0] = i;
        }
        for(int i=1; i<=a.length(); i++){
            for(int j=1; j<=b.length(); j++){
                if(a.charAt(i-1) == b.charAt(j-1)){
                    arr[i][j] = arr[i-1][j-1];
                } else {
                    arr[i][j] = Math.min(arr[i-1][j-1], Math.min(arr[i-1][j], arr[i][j-1])) + 1;
                }
            }
        }
        return arr[a.length()][b.length()];
    }
}
全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务