Рассмотрим следующий сценарий .
У меня есть массив чисел:
[ 1,2,3,4 ]
Если бы этот массив был объединен, у меня был бы номер 1234 .
Я хочу поменять местами числа, чтобы получить самое близкое большее число .
1234 станет 1243 , который станет 1324 , который станет 1342 и так далее ...
Какой алгоритм мне нужно будет использовать, чтобы внести изменения в массив?
В идеале я хотел бы использовать алгоритм следующим образом:
(допустим, у Array есть этот алгоритм как функция пошагового руководства)
[ 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