我有一组字符串以及它们的坐标和矩形边界在两个相似的页面中。这些字符串有三种不同的方式。 (i)字符串可以移动到页面上的新位置。 (ii)字符串位于同一位置但已被修改。说(abc - > abd或ABC) (iii)(i)和(ii)的组合。 (iv)字符串可能丢失。
我尝试使用局部敏感哈希但无法找到一个好的哈希函数。任何人都可以建议我一个很好的哈希函数或其他算法来解决这个问题。提前谢谢
答案 0 :(得分:2)
因此,我们有一个源字符串S
列表和一个大小最多T
的目标字符串|S|
列表。我们希望找到一种方法将T
中的每个字符串分配到S
中的不同字符串,以便最大限度地减少不匹配字符的总数
(请注意,因为我们正在寻找一种方法将T
与S
匹配,所以S
中缺少字符串的情况将被隐式处理)
如果这是对问题@ programer8的准确解释,我相信这是一个assignment problem,并且可以通过Hungarian algorithm在立方时间内解决:维基文章中提到的“工人”是您的目标字符串,“任务”是源字符串,源和目标字符串之间不匹配字符的数量是执行任务的工作人员的成本。
唯一的打嗝是你拥有的工作人员/目标字符串少于任务/源字符串,但你可以通过添加虚拟工作者来解决这个问题。