困難な問題を解決しようとしていますが、障害にぶつかったのではないかと心配しています。解決方法のアイデアがありません。ここにいる誰かが似たようなものに出くわしたのではないかと思いました。そうでない場合でも、アルゴリズムを作成するのが好きな人は、解決策を見つけようとすることを楽しんでいると確信しています。
ソートされていない配列が与えられます。2 つの移動のいずれかを行うことができます。配列から任意の要素を取り出し、それを配列の先頭または末尾に移動します。配列が最終的にどのように見えるべきかについても与えられます。最小ステップ数で配列をソートすることになっています。
例:
5 1 4 3 2 - > starting array
3 1 2 5 4 - > target array
Steps: move 5 to the end 1 4 3 2 5
move 3 to the beginning 3 1 4 2 5
move 4 to the end 3 1 2 5 4
ターゲット アレイに到達しました。最小ステップ数は 3 です。
誰でもこれを解決する方法について何か考えがありますか?