Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 作为两个字符串的整数返回的汉明距离_Java_String_Algorithm - Fatal编程技术网

Java 作为两个字符串的整数返回的汉明距离

Java 作为两个字符串的整数返回的汉明距离,java,string,algorithm,Java,String,Algorithm,为了计算两个字符串的汉明距离,它们必须具有相同的长度。 如果这种算法是用java实现的,如果字符串长度不同,会返回什么?如果字符串长度不同,则不会定义汉明距离 在这种情况下,您可能需要的是。如果字符串长度不同,则不定义汉明距离 在这种情况下,您可能需要的是。答案在您的问题中: 为了计算两个字符串的汉明距离,它们必须具有相同的长度 否则-您无法计算它-它是未定义的 关于你能返回什么,这取决于你的需要。你想要什么就给什么。如果您不想做这样的事情,我可以为您提供两个简单的指标: 给定两个字符串,长度x

为了计算两个字符串的汉明距离,它们必须具有相同的长度。
如果这种算法是用java实现的,如果字符串长度不同,会返回什么?

如果字符串长度不同,则不会定义汉明距离


在这种情况下,您可能需要的是。

如果字符串长度不同,则不定义汉明距离


在这种情况下,您可能需要的是。

答案在您的问题中:

为了计算两个字符串的汉明距离,它们必须具有相同的长度

否则-您无法计算它-它是未定义的

关于你能返回什么,这取决于你的需要。你想要什么就给什么。如果您不想做这样的事情,我可以为您提供两个简单的指标:

给定两个字符串,长度x和长度y中较短的一个:

通过汉明距离将最短字符串与较长字符串的长度x前缀进行比较,并添加y-x。就好像在较短的字符串中填充了$或其他特殊字符一样

类似地,使用特殊字符(例如$)从右侧和左侧的较短字符串的所有可能填充选项中选择最低的汉明距离


答案在你的问题中:

为了计算两个字符串的汉明距离,它们必须具有相同的长度

否则-您无法计算它-它是未定义的

关于你能返回什么,这取决于你的需要。你想要什么就给什么。如果您不想做这样的事情,我可以为您提供两个简单的指标:

给定两个字符串,长度x和长度y中较短的一个:

通过汉明距离将最短字符串与较长字符串的长度x前缀进行比较,并添加y-x。就好像在较短的字符串中填充了$或其他特殊字符一样

类似地,使用特殊字符(例如$)从右侧和左侧的较短字符串的所有可能填充选项中选择最低的汉明距离



你能详细说明一下吗?如果没有更多的背景知识,很难说出你在问什么。两个长度不同的字符串的汉明距离是未定义的。由于汉明距离是一个度量,因此非负,如果你想简单地指示失败的参数而不使用异常,你可以返回-1并进行适当的处理。这取决于你的需要。为什么我被否决了???你能详细解释一下吗?如果没有更多的背景知识,很难说出你在问什么。两个长度不同的字符串的汉明距离是未定义的。由于汉明距离是一个度量,因此非负,如果你想简单地指示失败的参数而不使用异常,你可以返回-1并进行适当的处理。这取决于你的需要。为什么我被否决了???解释一下你自己,如果勒文施泰因距离无法使用,那么解决方法就是返回勒文施泰因距离?@StefanSprenger,这取决于你的需要。但是请注意,对于Levenshtein,距离并不等于每两个长度相同的字符串的Hamming距离。@GariBN如果我有一个HemmingMethod,可以返回什么取决于您想要的特定行为。然而,在本例中抛出一个IllegalArgumentException是非常有意义的,文档中描述了抛出该异常是为了指示方法已被传递了一个非法或不适当的参数@斯蒂芬斯彭格我在下面编辑了我的答案。看一看。如果勒文施坦距离无法使用,那么解决方案是返回勒文施坦距离?@StefanSprenger,这取决于您的需要。但是请注意,对于Levenshtein,距离并不等于每两个长度相同的字符串的Hamming距离。@GariBN如果我有一个HemmingMethod,可以返回什么取决于您想要的特定行为。然而,在本例中抛出一个IllegalArgumentException是非常有意义的,文档中描述了抛出该异常是为了指示方法已被传递了一个非法或不适当的参数@斯蒂芬斯彭格我在下面编辑了我的答案。看一看。