我有點停留在這一問題在當前項目中我的工作:算法的一個字符串數組比較字符串的許多陣列
我想帶一個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