【发布时间】:2016-09-27 23:22:45
【问题描述】:
我正在开发一个 Anagram Finder 程序。我正在编写的其中一种方法介绍了我完全不熟悉的递归回溯 的概念。我希望得到一些关于它如何工作/如何使其工作的建议。
我正在尝试实现递归回溯,以便显示字典文本文件中的单词列表以形成输入短语的字谜。这是我到目前为止所拥有的:
public void printAnagrams(String phrase, int max, List<List<String>> anagrams) {
if (anagrams == null) {
throw new IllegalArgumentException();
} else if (max != 0) {
System.out.println("...");
} else
System.out.println("...");
for (List<String> element : anagrams)
System.out.println(anagrams);
}// End of printAnagram method
如果 max > 0,则仅显示 max words 或更少的组合。 由于程序很长,背景信息列在下面的链接中。
AnagramFinder 类:raw code
客户端类:raw code
这是预期的结果:
文件名? dict2.txt
要打乱的短语?偏题了
在“off course”中找到的所有单词: [core,course,cs,cure,for,force,forces,四,of,off,offer,offer,or,our,ours,re,score,so,source,sun,sure,us,use,user]
要包含的最大字数(输入没有最大字数)? 3
[核心,关闭,我们]
[核心,我们,关闭]
[当然,关闭]
[治愈,关闭,所以]
[治愈,所以,关]
[力量,的,我们]
[力,我们,的]
[的,力量,我们]
[我们的,力量]
[关闭,核心,我们]
[关闭,当然]
[关闭,治愈,所以]
[关闭,所以,治愈]
[关闭,来源]
[关闭,我们,核心]
[所以,治愈,关闭]
[所以,关闭,治愈]
[来源,关闭]
[我们,核心,关闭]
[我们,力量,的]
[我们,的,力量]
[我们,关闭,核心]
【问题讨论】:
标签: java string list recursion