a = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 8, 1, 2],
[6, 3, 1, 4],
]
2D配列があり、セルインデックス(i、j)が指定されています。たとえば、x、y =(2,3)が与えられるので、これはa [2] [3]の場合です。
動的計画法または再帰(prefer)を使用して実行したいのは、上下左右に移動して、(指定された条件が満たされるまで)行列全体をトラバースすることです。
つまり、(x、y)から4つの隣接するセルすべてに移動し、4つのセルすべてに対して再帰的にこれを実行します(何らかの条件が発生するまで)。しかし、これは4つのセルすべてがカバーされることを保証するものではありません(そのためのアルゴリズムがあり、それが満たされる場合、私だけがそのセルに移動し、同じアルゴリズムを使用してそのセルからさらに移動します。
アルゴリズムを実装することはできますが、Pythonで再帰的ソリューションを実装するのに苦労しています。
何か提案していただけませんか、同様の再帰コードにリンクしてください。
私はstackoverflowで同じものを見つけようとしましたが、成功しませんでした。これが質問投稿ルールに違反しているかどうかはわかりません。違反している場合は削除しますが、最初にこれを手伝ってください。
あなたがやろうとしていることは、フラッドフィルと非常に似ています。アルゴリズムについては、ウィキペディアのページを確認してください。複数の言語でそのコードを見つけるのは難しくないはずですが、それは十分に一般的です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加