Permutation Generator
by rishul matta
JavaScript
const permutationGenerator = (input) => {
const result = [];
const recursive = (arr, memo) => {
for (let i = 0; i < arr.length; ++i) {
const curr = arr.splice(i, 1);
if (arr.length === 0) {
result.push(memo.concat(curr));
return;
}
recursive(arr.slice(), memo.concat(curr));
arr.splice(i, 0, curr[0]);
}
}
recursive(input, [])
return result;
}
console.log(permutationGenerator(['c', 'a', 't']));