【发布时间】:2014-09-24 14:15:17
【问题描述】:
我想你们每个人都听说过移动应用程序4 pics 1 word。我正在尝试用java为这个游戏编写一个“机器人”。好吧,实际上不是机器人,而是帮助解决它的程序。
它基本上应该是这样的:
String[] dictionary = generateArrayWithAllEnglishWordsFromTextfile();
getLengthOfWordFromUserInput();
deleteAllEntriesFromArrayWithOtherLength(); // for performance reason
getAllPossibleLettersFromUserInput();
String[] combination = getAllPossibleCombinationsOfThoseLettersWithEnteredLength();
loopThroughBothArraysAndPrintMatches();
我做到了,一切正常,但如果我输入 12 个可能的字母(这是必要的),它会花费非常长的时间以致于它毫无用处。
我知道 java 不是最快的语言,但是有没有可能在 java 中让它比这种方式更快?
【问题讨论】:
-
英语中有超过 100 万个单词。数组可能不是保存这些数据的最有效的数据结构。
-
您尝试的是蛮力,而不是有助于解决问题的智能机器人
标签: java performance algorithm math logic