java - 使用用户输入的字符串找到最长的单词

标签 java algorithm search data-structures tree

基本上我想创建一个模拟第 4 channel “倒计时”游戏的程序。实际上,用户必须输入 9 个字母,程序将搜索字典中可以由这些字母组成的最大单词。我认为树结构比哈希表更好。我已经有一个包含字典中单词的文件,并且将使用文件 io.

这是我的文件 io 类:

public static void main(String[] args){
     FileIO reader = new FileIO();
     String[] contents = reader.load("dictionary.txt");
}

这是我到目前为止在倒计时课上的内容

public static void main(String[] args) throws IOException{
     Scanner scan = new Scanner(System.in);
     letters = scan.NextLine();
}

我从这里完全迷路了。我知道这只是开始,但我不是在寻找答案。我只是想要一点点帮助,也许是一个正确方向的指针。我只是 java 的新手,在一本面试书中发现了这个问题,我想我应该给它一个答案。

提前致谢

最佳答案

欢迎来到 Java 世界 :)

我首先看到的是您有两个主要方法,实际上您并不需要它们。在大多数情况下,您的程序将只有一个入口点,然后它会执行所有逻辑并处理用户输入和所有内容。

您正在考虑一个很好的树结构,尽管存储它可能有更好的主意。试试这个:http://en.wikipedia.org/wiki/Trie

你的程序要做的是逐行读取文件中的所有单词,并在这个过程中构建你的数据结构,树。完成后,您可以要求用户输入,输入后您可以搜索树。

既然你明确要求不要提供答案,我不会把代码放在这里,但如果你有什么不清楚的地方,请随时提问

关于java - 使用用户输入的字符串找到最长的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22156284/

相关文章:

python - 如何在字符串列表中查找组件,注意它来自列表的哪个索引

xml - 如何在 flex/actionscript 中通过属性名称/值查找特定的 xml 数据

mysql - 使用 Ruby 和 MySQL 进行多词搜索

java - 从类型参数扩展

java - 如何提高大数 java 递归实现的时间复杂度?

java - Riak中按属性查询

python - 与最近邻居的最大差异

algorithm - 为什么 Unix block 大小会随着内存大小的增加而增加?

java.lang.NoSuchMethodError : javax. persistence.JoinColumn.foreignKey

java - 如何在 Netbeans IDE 6.5 的 JSP 页面中集成 JFrame(Swing 控件)?