• Source
    1. import java.util.*;
    2.  
    3. class Ideone {
    4. public static void main(String[] args){
    5. String s1 = "SATURDAY";
    6. String s2 = "SUNDAY";
    7.  
    8. int[][] dist = new int[s1.length()+1][s2.length()+1];
    9.  
    10. //Initialize first row and first column
    11. for(int i=0; i<=s1.length();i++){
    12. dist[i][0] = i;
    13. }
    14. for(int i=0; i<=s2.length(); i++){
    15. dist[0][i] = i;
    16. }
    17.  
    18. for(int i=1; i<=s1.length();i++){
    19. for(int j=1; j<=s2.length();j++){
    20. dist[i][j] = min(dist[i-1][j]+1, dist[i][j-1]+1, dist[i-1][j-1]+(s1.charAt(i-1) == s2.charAt(j-1) ? 0 : 1));
    21. }
    22. }
    23.  
    24. System.out.println("Edit distance => "+ dist[s1.length()][s2.length()]);
    25. }
    26.  
    27. private static int min(int a, int b, int c){
    28. if(a <= b && a <= c) return a;
    29. else if(b<=a && b<=c) return b;
    30. else return c;
    31. }
    32. }
    33.