我有点停留在这一问题在当前项目中我的工作:算法的一个字符串数组比较字符串的许多阵列
我想带一个ArrayList<String>
(称之为一个)并将其与许多ArrayList<String>
进行比较,记录这些数组比较中匹配的字符串数。然后,我想按顺序从最相似到最不相似的顺序排列多个字符串数组。
有没有人知道任何快速算法来做到这一点?没有像算法那样寻找代码,但我正在使用Java。
谢谢!
我有点停留在这一问题在当前项目中我的工作:算法的一个字符串数组比较字符串的许多阵列
我想带一个ArrayList<String>
(称之为一个)并将其与许多ArrayList<String>
进行比较,记录这些数组比较中匹配的字符串数。然后,我想按顺序从最相似到最不相似的顺序排列多个字符串数组。
有没有人知道任何快速算法来做到这一点?没有像算法那样寻找代码,但我正在使用Java。
谢谢!
我的建议:
set.contains(string)
查找每个数组列表包含的匹配数。然后让包装'ArrayList' + match count的对象实现'Comparable'来对它们进行排序。 –
有道理,谢谢! – CatLord
如果要比较字符串之间的相似性(或差异),请尝试编辑距离算法,例如Levenshtein距离算法。
http://en.wikipedia.org/w/index.php?title=Levenshtein_distance
什么是近距离投票的原因?这是如何“要求我们推荐或找到工具,图书馆或最喜欢的非现场资源”? – arshajii
您将使用哈希值,可能以几种不同的方式。 (实际上,这个问题是一个骗局 - 它每两周就会被问到一次。) –
哎呀,对不起,重复!找不到问题,但我可能没有找到正确的地方。谢谢你的帮助! – CatLord