この問題を解決するには助けが必要です。2D 配列を使用して、スワップの最小数を見つけようとしました。この問題にどう対処すればよいか正確にはわかりません。BFS と DFS のどちらを使用するか?
4 桁の数字が 2 つ与えられます。最初の数字は最初の数字で、2 番目の数字は目標の数字です。可能な限り少ない操作で初期数を目標数に変換する Java プログラムを作成します。使用可能な演算は次のとおりです。 4 桁のいずれかに 1 を加算します。9 に 1 を足すと 0 になります。4 桁のうちの 1 つから 1 を引きます。0 から 1 を引くと 9 になります。隣接する 2 つの数字を入れ替えます。
例 1: イニシャル番号:1111
最終番号:9999
最小操作数:8
例 2: イニシャル番号:1234
最終番号:2144
最小操作数:2