文字の 2D 行列が与えられた場合、与えられた単語がその中に存在するかどうかを確認する必要があります。例えば
s f t
d a h
r y o
その中に「ラット」を見つけることができます (トップダウン、ストレート、ダイアゴナル、または任意のパス)..逆の順序でも.最小限の複雑さで.
私のアプローチは
While traversing the 2d matrix ( a[][] ) row wise.
If ( a[i][j] == first character of given word ) {
search for rest of the letters in 4 directions i.e. right, right diagonally down, down and left diagonally down.
} else if( a[i][j] == last character of the given word ) {
search for remaining characters in reverse order in 4 directions i.e. left, right diagonally up, up, left diagonally up.
}
より良いアプローチはありますか?