JS 排列组合
Posted 流星蝴蝶没有剑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 排列组合相关的知识,希望对你有一定的参考价值。
- 不重复
function permute()
let backTrack = (nums, arr, nowLen) =>
if (arr.length == nowLen)
res.push(arr);
return;
for (let i = 0; i < nums.length; i++)
arr.push(nums[i]);
backTrack(nums.slice(i + 1), arr.slice(), nowLen);
arr.pop();
;
let nums = [1, 2, 4, 8];
let len = nums.length;
let res = [];
let arr = [];
for (let j = 1; j <= len; j++) backTrack(nums, arr, j);
return res;
var c = permute();
console.table(c);
- 全排列【可以有重复】
function permute()
let backTrack = (nums, arr, nowLen) =>
if (arr.length == nowLen)
res.push(arr);
return;
for (let i = 0; i < nums.length; i++)
arr.push(nums[i]);
backTrack(nums.filter(i => !arr.includes(i)), arr.slice(), nowLen);
arr.pop();
;
let nums = [1, 2, 4, 8];
let len = nums.length;
let res = [];
let arr = [];
for (let j = 1; j <= len; j++) backTrack(nums, arr, j);
return res;
var c = permute();
console.table(c);
以上是关于JS 排列组合的主要内容,如果未能解决你的问题,请参考以下文章