【发布时间】:2013-05-20 14:58:13
【问题描述】:
我一直在开发一种算法来计算给定(一组)单词的字谜。我刚刚让它工作,有一个令人难以置信的令人沮丧的异常(没有双关语;没有抛出实际的异常)。尽管我尝试利用有效的“修剪”来减少重复次数,我的算法正在向主列表添加重复项,在本例中是最终静态 ArrayList(StringBuilder)() 类型的对象。我似乎无法弄清楚为什么会这样。以下是我的代码;为了方便起见,我决定发布整个方法。
这是学校的作业,因此我正在寻找指导/概念上的错误,而不是直接的答案/解决方案。
编辑:(代码已被删除,以避免在作业截止日期之前可能出现抄袭。)
这是一个例子:
**input:**
pnxish
bauelqbs
coxiuqit
elbarcbs
ptos
**output:**
Now printing anagrams:
Anagram #0: sphinx
Anagram #1: squabble
Anagram #2: squabble
Anagram #3: quixotic
Anagram #4: quixotic
Anagram #5: scrabble
Anagram #6: scrabble
Anagram #7: pots
Anagram #8: post
Anagram #9: tops
Anagram #10: opts
Anagram #11: spot
Anagram #12: stop
感谢您的帮助! :)
【问题讨论】:
-
你能给我们举个例子,输入、输出和预期输出吗?
-
习惯上写成 i
-
为什么要将 StringBuilders 添加到 anagramList 而不是 Strings?
-
是的,我刚刚编辑了一个 i/o 值的示例。谢谢你,很抱歉排除了那个重要的细节!
-
我正在使用 StringBuilders,因为它们是可变的;另一个原因是教授要求我们使用它们。
标签: java algorithm recursion anagram