最近、技術面接でこの質問をされました。これが私の解決策です。http://pastebin.com/JMVHcfRq間違えましたか、それとももっと良い解決策がありますか?
選択した言語の数字の長方形グリッドで、隣接する非反復セル (対角線を含む) を通る最長の非減少シーケンスの長さを見つけます。ソリューションは、任意の幅と高さのグリッドを処理する必要があります。
たとえば、次のグリッドでは、トレースできる有効なパス (最長ではありませんが) は 0->3->7->9 であり、その長さは 4 です。
8 2 4
0 7 1
3 7 9
パス隣接する場所のみを接続できます (8 -> 9 を接続することはできません)。この例で可能な最長のシーケンスは、パス 0->2->4->7->7->9 または 1->2->4->7->7->8 をトレースすることにより、長さ 6 になります。
選択した言語で、数値の長方形グリッドを入力として取り、そのような最長のシーケンスの長さを出力として返すメソッドを作成します。