同步操作将从 编程语言算法集/Java 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package DynamicProgramming;/*** @author Kshitij VERMA (github.com/kv19971) LEVENSHTEIN DISTANCE dyamic programming implementation* to show the difference between two strings* (https://en.wikipedia.org/wiki/Levenshtein_distance)*/public class LevenshteinDistance {private static int minimum(int a, int b, int c) {if (a < b && a < c) {return a;} else if (b < a && b < c) {return b;} else {return c;}}private static int calculate_distance(String a, String b) {int len_a = a.length() + 1;int len_b = b.length() + 1;int[][] distance_mat = new int[len_a][len_b];for (int i = 0; i < len_a; i++) {distance_mat[i][0] = i;}for (int j = 0; j < len_b; j++) {distance_mat[0][j] = j;}for (int i = 0; i < len_a; i++) {for (int j = 0; j < len_b; j++) {int cost;if (a.charAt(i) == b.charAt(j)) {cost = 0;} else {cost = 1;}distance_mat[i][j] =minimum(distance_mat[i - 1][j], distance_mat[i - 1][j - 1], distance_mat[i][j - 1])+ cost;}}return distance_mat[len_a - 1][len_b - 1];}public static void main(String[] args) {String a = ""; // enter your string hereString b = ""; // enter your string hereSystem.out.print("Levenshtein distance between " + a + " and " + b + " is: ");System.out.println(calculate_distance(a, b));}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。