我有一個ArrayList單詞,我想比較單詞之間的相互關係,將它們存儲在HashTable(在一組字符串中)。在散列表中存儲單詞組
我知道如何比較兩個單詞來測試它們是否是一個字謎,但我不知道如何比較一個較長的單詞列表。
例如:
- 有10個字列表中的
- 其中5是它們的相互
- 2字謎也彼此的字謎(但不是所述第一組)
- 所以,3組; 1組一組anagrams(5個字),1組爲另一組(2字),和1組(3字)的隨機字
如何比較10個單詞以找到那5個+2個anagrams,並將這些anagrams組(分別)存儲在散列表中?
編輯:
的代碼我有比較兩個字:
public static boolean isAnagram(String firstWord, String secondWord) {
boolean anagram;
if (firstWord.length() != secondWord.length()) {
return false;
}
firstWord = firstWord.toLowerCase();
secondWord=secondWord.toLowerCase();
char[] c1 = firstWord.toCharArray();
char[] c2 = secondWord.toCharArray();
Arrays.sort(c1);
Arrays.sort(c2);
String sc1 = new String(c1);
String sc2 = new String(c2);
if (sc1.equals(sc2)) {
System.out.println("ANAGRAMS");
} else {
System.out.println("NOT ANAGRAMS");
}
return sc1.equals(sc2);
}
我敢肯定,這可以適應與比較字符串無限量的工作。接下來的困境是確保單獨的字符組存儲在散列表中。
那你試試? – Kajal
暴力解決方案將比較每個單詞與其他單詞,並存儲每當你找到一個Anagram。 – Bhargav
最簡單的方法是遍歷所有單詞並將每個單詞* w *與其他單詞進行比較。9.製作哈希表:* w * - > anagrams of * w *。 – Shaido