All pastes #717950 Raw Edit

Stuff

public text v1 · immutable
#717950 ·published 2007-09-28 00:06 UTC
rendered paste body
public class EditDistance {
    public static int distance(String str1, String str2, boolean verbose) {
        int length1 = str1.length();
        int length2 = str2.length();
        int matrix[][] = new int[length1+1][length2+1];
        
        for (int i = 0; i < length1; i++)
            matrix[i][0] = i;
        for (int i = 0; i < length2; i++)
            matrix[0][i] = i;
            
        for (int i = 1; i <= length1; i++) {
            for (int j = 1; j <= length2; j++) {
                if (str1.charAt(i-1) == str2.charAt(j-1))
                    matrix[i][j] = minimum(matrix[i-1][j], matrix[i][j-1], matrix[i-1][j-1]);
                else
                    matrix[i][j] = minimum(matrix[i-1][j], matrix[i][j-1], matrix[i-1][j-1]+1);
            }
        }
        return matrix[str1.length()+1][str2.length()+1];
    }
    
    private static int minimum (int one, int two, int three) {
        return Math.min(Math.min(one, two), three);
    }
}