次のシナリオを考えてみましょう。
私は数字の配列を持っています:
[ 1,2,3,4 ]
この配列が結合された場合、番号は1234になります。
数字を入れ替えて、最も高い数字を実現したいと思います。
1234は1243になり、1324になり、1342になります。
アレイでこの変更を行うには、どのアルゴリズムを使用する必要がありますか?
理想的には、この方法でアルゴリズムを使用したいと思います:(配列がウォークスルーと呼ばれる関数としてこのアルゴリズムを持っているとしましょう)
[ 1,2,3,4].walkthrough() # gives [ 1, 2, 4, 3 ]
[ 1,2,4,3].walkthrough() # gives [ 1, 3, 2, 4 ]
番号のリストは続きます:
1234
1243
1324
1342
2134
2143
2314
2341
2413
2431
3124
3142
3214
3241