javascript - ソリティアに似た 2 次元配列の処理
仅有的幸福
仅有的幸福 2017-05-19 10:38:44
0
3
613
リーリー

私はこの分野の仕事に従事していません。自分でプログラムを書いています。上記の問題に遭遇すると、数日間悩まされています。助けてください。

仅有的幸福
仅有的幸福

全員に返信(3)
我想大声告诉你

単一の解決策のアイデアを提供します。

まず最初の要素が A である配列を見つけて取り出し、候補配列と名前を付けます

次に、候補配列の 1 つを選択し、現在の配列と結果配列を定義して、現在の先頭と末尾の合計結果を保存します ([A,B] や [[A,B], [B,C]] など) , もちろん、現在の配列を使用する必要はありません。ここで便宜的な説明をします。

次に、最初の文字が A である配列 ([B,C] など) がわかるまで arr をループします。この結果配列は [A,C] に折りたたむことができます。次に、もちろん [B, C] を結果配列に保存し、[B, C] を arr から削除する必要があります。

その後、グループ化後に現在の配列が長さ 0 に折りたたまれていれば、ドラゴンが見つかったことを意味し、結果を出力できます。

しかし、それが見つからない場合、[B, C] には解がないことを意味し、結果の配列と現在の配列は前のステージに返され、[B, C] は arr に追加されなくなります。それは答えの一つにはなり得ないからです。その後、このプロセスを繰り返し続けます。

画像点の説明は、[A、B、B、C、C、D] が結果を見つけることができないことがわかり、[A、B、B、C] にフォールバックし、その後、結果が見つからないことを示しています。 [ A,B] にフォールバックし続けます。等々。

最後までご覧ください。

複数の解釈がある場合でも、まったく同じ解決策になります。面倒すぎる。

いいねを押す +0
淡淡烟草味

これは徹底的な演習です...
私が思いつくアイデアは、2 つの端を選択し、中央に向かって徹底的に検索することです。
可能性の各ペアを記録します (ロックされており、繰り返し選択できないことに注意してください)。キャッチできればOKです
結果の長さも不確実で、順序も不確実なので、これはさらに複雑です...

いいねを押す +0
滿天的星座

再帰を書くのに時間がかかり、文字が 1 回しか出現しない場合は、対応する文字のペアが元のデータから削除されます。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート