我们给了一个由不同整数组成的数组,并且要求我们返回数组中整数的所有可能排列。
例如-
如果输入数组是-
const arr = [1, 2, 3];
那么输出应该是-
const output = [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ];
为此的代码将是-
const arr = [1, 2, 3]; const findPermutations = (arr = []) => { let res = [] const helper = (arr2) => { if (arr2.length==arr.length) return res.push(arr2) for(let e of arr) if (!arr2.includes(e)) helper([...arr2, e]) }; helper([]) return res; }; console.log(findPermutations(arr));
输出结果
控制台中的输出将是-
[ [ 1, 2, 3 ], [ 1, 3, 2 ], [ 2, 1, 3 ], [ 2, 3, 1 ], [ 3, 1, 2 ], [ 3, 2, 1 ] ]