【发布时间】:2020-07-27 20:11:32
【问题描述】:
通过字符串匹配,您可以寻找完全匹配。
在O(n) 时间复杂度中,有一些算法可以解释多达k 的二进制差异,包括字符的省略、字符的添加或字符的替换(忘记了算法名称)。
是否有一种算法可以改为返回字符串之间的总差 - 而不是差数。
实际上,此算法是其他算法的更通用版本,其中其他算法为每个差异 (a != d) 注册值 1,而不是它们的差异量,即 3 d - a.
在原始算法中,如果字符串的不匹配总数小于k,则字符串匹配,在我正在寻找的算法中,我想要条件是字符串的总差小于值e。
【问题讨论】:
-
memcmp怎么样 -
@super 这是两个字符串的单一比较。我正在寻找匹配其中的字符串。即
str1.contains(str2)- 理想情况下在O(n+m)时间 -
听起来您可能正在寻找
edit distance或Levenshtein distance。 -
@500-InternalServerError 是相同的算法吗?我相信这就是我所说的算法,我说我忘记了它的名字
-
@500-InternalServerError 那些不考虑不匹配的金额,只有发生不匹配的事实