Java 动态编辑距离

Java 动态编辑距离,java,sorting,methods,Java,Sorting,Methods,我试图制作一个动态算法来计算两个字符串之间的距离。例如,如果我有“casa”和“cara”,那么输出应该是2(1插入+1删除),但我得到1。这是算法: 公共静态整数距离(字符串word1、字符串word2){ int dp[][]=新int[m+1][n+1]; 对于(int i=0;在你的帖子中没有问题为什么这个算法的输出是1而不是2,使用字符串“casa”和“cara”?你的代码没有编译。m,n,str1和str2没有定义。我猜m是单词1的大小,n是单词2的大小,str1是单词1,str2

我试图制作一个动态算法来计算两个字符串之间的距离。例如,如果我有“casa”和“cara”,那么输出应该是2(1插入+1删除),但我得到1。这是算法:

公共静态整数距离(字符串word1、字符串word2){
int dp[][]=新int[m+1][n+1];

对于(int i=0;在你的帖子中没有问题为什么这个算法的输出是1而不是2,使用字符串“casa”和“cara”?你的代码没有编译。m,n,str1和str2没有定义。我猜m是单词1的大小,n是单词2的大小,str1是单词1,str2是单词2。你也没有定义你想要实现的算法(看起来像是Levenshtein距离)。在else部分中,您定义了rep(我猜是替换)、ins(我猜是插入)和del(我猜是删除)。因此,我认为该算法是正确的,因为您只需进行一次替换(“s”->“r”),所以结果是1(这些字符串之间的Levenshtein距离肯定是1)。