Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Main {
- public static void main(String args[]) {
- char[] a = {'k','i','t','t','e','n'};
- char[] b = {'s','i','t','t','i','n','g'};
- int len_a = a.length;
- int len_b = b.length;
- int result =LevenshteinDistance(a,len_a,b,len_b);
- System.out.println("Levenshtein Distance:"+result);
- }
- public static int LevenshteinDistance(char a[],int len_a,char b[],int len_b) {
- int cost;
- if(len_a == 0)
- return len_b;
- if(len_b == 0)
- return len_a;
- if (a[len_a-1] == b[len_b-1])
- cost = 0;
- else
- cost = 1;
- int substitution = LevenshteinDistance(a,len_a-1,b, len_b) + 1;
- int insertion = LevenshteinDistance(a, len_a, b, len_b-1) + 1;
- int deletion = LevenshteinDistance(a,len_a-1,b,len_b-1) + cost;
- return minimum(
- substitution,
- insertion,
- deletion
- );
- }
- public static int minimum(int s,int i, int d) {
- return Math.min(Math.min(s, i), d);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement