数字の代わりに文字を使って数独ゲームを作ろうとしています。次のようなボックスがあります:3 x3ボックス
そして、ユーザーは、すべての水平文字とすべての垂直文字が単語を形成するように、文字の正しい順列を見つけようとします。1つのゲームモードでは、ユーザーは文字のサブセットを使用してボックスに入力できます。このゲームでは、txtファイルの特別な単語リストを使用しているため、標準の辞書ライブラリを使用できません。正しく記入されたパズルの例を次に示します。
完成したパズル
スクラブルプレイヤーのために作られたこのバージョンの数独にとって、オキソは有効な言葉です。とにかく、水平文字とすべての垂直文字が単語を形成していることを確認するアルゴリズムをどのように構築しますか?
質問は、6つの文字列がすべて辞書からの有効な単語であるかどうかを確認することについて尋ねます。
このための擬似コードっぽいJava:
String[] boardWords = getWordsFromBoard(); // Should be a 6 element array.
Set<String> dictionary = loadDictionary(); // Read all words from dictionary file into a Set.
for (String word : boardWords) {
if (!dictionary.contains(word)) return false;
}
return true;
質問へのコメントは、辞書に対して6つの文字列をチェックする方法を疑問に思っており、辞書を6回スキャンする必要があるかどうかを尋ねていることを示しているようです。上記のコードでわかるように、辞書の内容をコレクションに1回ロードしてから、単語をループして、コレクション内にあるかどうかを確認できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加