Мне нужно вычислить перестановки итеративно. Подпись метода выглядит так:
int[][] permute(int n)
Например, для n = 3
возвращаемое значение будет:
[[0,1,2],
[0,2,1],
[1,0,2],
[1,2,0],
[2,0,1],
[2,1,0]]
Как бы вы сделали это итеративно самым эффективным способом? Я могу сделать это рекурсивно, но мне интересно видеть множество альтернативных способов сделать это итеративно.