public class LevenshteinDistance {
public static int calculate(String str1, String str2) {
int[][] dp = new int[str1.length() + 1][str2.length() + 1];
for (int i = 0; i <= str1.length(); i++) {
dp[i][0] = i;
}
for (int j = 0; j <= str2.length(); j++) {
dp[0][j] = j;
}
for (int i = 1; i <= str1.length(); i++) {
for (int j = 1; j <= str2.length(); j++) {
if (str1.charAt(i - 1) == str2.charAt(j - 1)) {
dp[i][j] = dp[i - 1][j - 1];
} else {
dp[i][j] = 1 + Math.min(dp[i - 1][j - 1], Math.min(dp[i][j - 1], dp[i - 1][j]));
}
}
}
return dp[str1.length()][str2.length()];
}
public static void main(String[] args) {
String str1 = "kitten";
String str2 = "sitting";
int distance = calculate(str1, str2);
System.out.println("Levenshtein distance: " + distance);
}
}
この例では、calculate
メソッドを使用して、str1
とstr2
の間のLevenshtein距離を計算しています。メインメソッドでは、"kitten"と"sitting"のLevenshtein距離を計算し、結果を表示しています。
この方法を使えば、他の文字列間のLevenshtein距離も計算できます。必要に応じて、文字列の代わりに変数やユーザー入力を使用することもできます。
上記のコード例と説明を参考にして、ブログ投稿を作成し、Levenshtein距離の計算方法を紹介してください。