したがって、ダイヤルパッドの各番号に割り当てられた文字を使用して、電話番号で綴ることができるすべての可能な組み合わせを見つける必要があります。すなわち:2226262は「ABANANA」を綴ることができます。
8未満の任意の長さの任意の数を指定すると、整数に一致するすべての単語を見つけることができます。つまりfindWholeWord(dictionary[2], 723)
、文字列の配列を教えてくれます{"RAD", "RAE", "RAF", "SAD", "SBF", "PAE", "PAD"}
(私が与えられた辞書はちょっとばかげています...)。私の辞書は7つの部分に分かれており、各部分には同じ長さの単語が含まれています。
私がよくわからないのは、7桁の数字を取り、1つの単語の長さ6、1つの単語の長さ1(6、1)、5と2、5と1と1、4と3、4のようなすべての単語の組み合わせを与える方法です2と1。単語全体をカバーしていないもの(0または1、3文字と2文字の単語で、最後の2文字に一致しないもの)をすべて破棄したい。この論理をどうやって進めるのかわかりません。この種のロジックには、木を描いてパターンがいいので名前が付いていると思いますが、そのパターンが何と呼ばれているのか、正確には何と呼ばれているのかわかりません。
1つの方法は、すべてのサブワードを見つけて、機能する方法でそれらを組み合わせようとすることです。もう1つの方法は、単語の長さのすべての可能な組み合わせを試すことです:(7)、(6,1)、(5,2)、( 5,1,1)、(4,3)、(4,2,1)、(4,1,2)、(4,1,1,1)など..
どちらを行うかわからない、どちらが簡単かわからない、どちらが最も効率的かわからない。