为了计算两个字符串的汉明距离,它们必须具有相同的长度。 如果这种算法在java中实现,如果字符串长度不同,可以返回什么?Hamming Distance作为两个字符串的整数返回Java
回答
答案就在你的问题:
为了计算两个字符串的汉明距离,它们必须具有相同的长度
否则 - 你无法计算它(这是未定义)!
关于你可以退货,这取决于你的需求。你可以回报你想要的任何东西。如果你不想做的事情一样Pairwise alignment,我可以为您提供了两个简单的指标:
给定两个字符串,长度x的缩短和其他长度的Y:
比较最短的字符串用汉明距离作为长字符串的长度x的前缀,并加上(yx)。就好像你用$或其他特殊字符填充了较短的字符串。
类似地,从特定字符(例如$)的右侧和左侧的较短字符串的所有可能的填充选项中取最低的汉明距离。
如果字符串长度不同,那么汉明距离没有被定义。
你在这种情况下可能需要的是Levenshtein Distance。
那么解决方法是返回Levenshtein距离,如果它不能通过卷边距离使用? –
@StefanSprenger取决于你的需求。但是请注意,Levenshtein距离对于相同长度的每两个弦不等于汉明距离。 –
@GariBN如果我有一个“HemmingMethod”,那么可能会返回什么 –
- 1. 的Java的XPath返回整个元素作为字符串
- 2. 作为字符串返回字符串而不是RMongo中的整数?
- 3. ItemReader返回一个包含整行作为字符串的FlatFileItemReader
- 4. 给定两个整数的字符串表示,返回的整数
- 5. 从C函数返回字符串接受两个字符串
- 6. 返回整个阵列作为字符串
- 7. 返回的Java JsonPath作为一个JSON字符串
- 8. PHP的preg_match返回两个字符串
- 9. pg-promise将整数作为字符串返回
- 10. MySQL PHP整数列不作为字符串返回
- 11. 字符串数组作为Java/Android中的返回值
- 12. 返回两个字符串作为方法签名
- 13. C++ c_str不返回整个字符串
- 14. 乘以一个整数字符串返回整数?
- 15. 读取整数和返回字符串
- 16. PHP转换(整数)返回字符串
- 17. 从方法返回一个字符串数组作为单个字符串
- 18. resultSet.getInt()返回一个包含两个整数的字符串的值
- 19. 返回两个字符串在C++
- 20. Java - 返回字符串
- 21. Java int返回字符串
- 22. 返回一个数字作为逗号分隔字符串
- 23. 根据两个整数之间的值返回一个字符串
- 24. 接受两个字符串作为参数并返回第一个字符串并删除第二个字符串的所有实例的Java方法
- 25. Cartesian3.distance - 返回NaN?
- 26. 执行一个函数返回的字符串作为代码
- 27. 用Java RMI返回一个字符串
- 28. 在Java中返回一个字符串
- 29. 用toString返回一个字符串java
- 30. 字符串拆分方法不会返回两个字符串
你能详细说一下吗?没有一点点背景知识,很难说出你要问什么。 –
不同长度的两个字符串的汉明距离是不确定的。 –
由于海明距离是一个度量标准,因此也是非负的,如果您想仅仅指示失败的参数而不使用异常,则可以返回-1并正确处理。这取决于你的需求。 – Jems