@@ -0,0 +1,1079 @@
+/**%0A * Problem: https://leetcode.com/problems/edit-distance/%0A * Dynamic Programming Problem.%0A * %0A */%0A%0Apublic class Solution %7B%0A    public int minDistance(String word1, String word2) %7B%0A        int n = word1.length();%0A        int m = word2.length();%0A        int%5B%5D%5B%5D steps = new int%5Bn+1%5D%5Bm+1%5D;%0A        for(int i=1; i%3C=n; i++) steps%5Bi%5D%5B0%5D = steps%5Bi-1%5D%5B0%5D + 1;%0A        for(int j=1; j%3C=m; j++) steps%5B0%5D%5Bj%5D = steps%5B0%5D%5Bj-1%5D + 1;%0A        for(int i=1; i%3C=n; i++) %7B%0A            for(int j=1; j%3C=m; j++) %7B%0A                // If two characters are the same, then do nothing.%0A                if(word1.charAt(i-1) == word2.charAt(j-1)) %7B%0A                    steps%5Bi%5D%5Bj%5D = steps%5Bi-1%5D%5Bj-1%5D;%0A                %7D else %7B%0A                    // Otherwise, we could add one character to either word.%0A                    steps%5Bi%5D%5Bj%5D = Math.min(steps%5Bi-1%5D%5Bj%5D, steps%5Bi%5D%5Bj-1%5D) + 1;%0A                    // Or, we could replace one with another.%0A                    steps%5Bi%5D%5Bj%5D = Math.min(steps%5Bi%5D%5Bj%5D, steps%5Bi-1%5D%5Bj-1%5D + 1);%0A                %7D%0A            %7D%0A        %7D%0A        %0A        return steps%5Bn%5D%5Bm%5D;%0A    %7D%0A%7D%0A

Create Edit_Distance.java