私は、ソートされた配列のためのバイナリ検索を使用することを示唆しています。これらの線に沿って何か:
static boolean validWord(String word, final char[] letters)
{
char[] lettersCopy = letters.clone();
Arrays.sort(lettersCopy); // sort so we can use binary search
for(char c : word.toCharArray())
{
if(Arrays.binarySearch(lettersCopy, c) < 0) //char c from word not in letterPool?
{
return false;
}
}
return true;
}
は、その後、あなたのトライアルループにあなたはこのようにそれを呼び出します。
if (validWord(input,letterPool))
{
System.out.println("Yes, the letters match");
}else {
System.out.println("No");
}
私はそれであなたを助けることができないので、私はあなたがそこに使用しているDictionaryクラスを確認していません。
Btw: arctigorsハッシュマップを使用した回答は、より多くのCPUのパフォーマンスが向上しています。 (O(n * lb(m))の代わりにO(n))
まず自分自身を試してから具体的な質問に戻ってください。 –
あなたのコードをあなたの質問に加えてください。その点からお手伝いさせていただきます。 – TDG
@TDGコードが問題になりました。どうもありがとうございました。何週間も何も動かなかったのです。 – Eric