Advertisement
Guest User

Untitled

a guest
Oct 8th, 2019
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.13 KB | None | 0 0
  1. public class EditDistance {
  2.  
  3.     public static void main(String[] args) {
  4.         String s1 = args[0];
  5.         String s2 = args[1];       
  6.         int [][] table = new int[s1.length()+1][s2.length()+1];
  7.         for (int i = 0; i <= s1.length(); i++) {
  8.             table[i][0] = i;
  9.         }
  10.         for (int i = 0; i <= s2.length(); i++) {
  11.             table[0][i] = i;
  12.         }
  13.         for (int row = 1; row < s1.length()+1; row++) {
  14.             char currChar = s1.charAt(row-1);
  15.             for (int col = 1; col < s2.length()+1; col++) {
  16.                 char checkChar = s2.charAt(col-1);
  17.                 if (currChar == checkChar) {
  18.                     table[row][col] = table[row-1][col-1];
  19.                 } else {
  20.                     int left = table[row][col-1];
  21.                     int up = table[row-1][col];
  22.                     int diag = table[row-1][col-1];
  23.                     if (left < up) {
  24.                         if (left <= diag) {
  25.                             table[row][col] = table[row][col-1] + 1;
  26.                         } else {
  27.                             table[row][col] = table[row-1][col-1] + 1;
  28.                         }
  29.                     } else {
  30.                         if (up <= diag) {
  31.                             table[row][col] = table[row-1][col] +1;
  32.                         } else {
  33.                             table[row][col] = table[row-1][col-1] + 1;
  34.                         }
  35.                     }
  36.                 }
  37.             }
  38.         }
  39.         System.out.println("Edit Distance: " + table[s1.length()][s2.length()]);
  40.     }
  41.  
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement