已知二维数组排序规则,求未知数组有多少种排列方式?代码实现
已知数列[[1,2],[4],[7,8]]
有 147 148 247 248 47 48 7 8 的8种排列方式
请问用JavaScript代码如何求未知数列有多少种排列方式?
5 回复
讲真,这是高中知识,LZ回去复习下吧
@nullcc 同意- -看下代码怎么实现 A 和C
稍微写一下,并没有运行。
const arr = [[1,2],[4],[7,8]];
const numerArr = [];
let sum = 0;
for (let i=0, i < arr.length, i++){
numerArr.push(arr[i].length);
}
for (let i=0, i < numerArr.length, i++){
let s =1;
for (let j = i; j < numerArr.length; j++){
s *= numerArr[i];
}
sum += s;
}
我比较纳闷为何是8种……1 | 2 | 4 | 14 | 24 | 17 | 18 | 27 | 28 ……不算吗? 如果不算的话,为啥 7 | 8 这种都能算一种排列方式…… 再ps: 这只能算是组合方式吧,说排列的话,不是应该还要考虑不同集合中的数字所在的位置问题……
@AserSayHi 依次递减的, 开始是全部 3 个数组,然后 2 个数组, 最后 1 个 数组。