gpt4 book ai didi

Java anagram 查找器算法

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:03 25 4
gpt4 key购买 nike

我在 Java 中有一个 Strings 数组。我需要从数组中找到字谜并将它们打印到屏幕上。

我在比较数组元素以检查它们是否是字谜的部分遇到了困难。我该怎么做?显然,我必须创建一个循环才能遍历数组。

我认为我可以对 String 进行排序,然后比较它们(因为如果它们是变位词,排序时它们将包含相同顺序的相同字母),但我将如何取消排序他们得到原词?

最佳答案

如果您按字母顺序排列字母而不是散列它们,它们应该是相同的...

Map<String, List<String>> words = new HashMap<String, List<String>>();
for(String word : incomingWords) {
final String key = alphabetize(word);
if(words.contains(key)){
words.get(key).add(word);
} else {
words.put(key, new ArrayList<String>());
words.get(key).add(word);
}
}

现在您有了 Map 单词,这些单词是变位词...您还将在 Map 中拥有只有 1 个条目的 List ,您可以从 map 中删除那些,只保留一个 Map,其中包含字典中的其他字谜...

关于Java anagram 查找器算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9321654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com