已知二维数组排序规则,求未知数组有多少种排列方式?代码实现
发布于 6 年前 作者 NOOZN 3379 次浏览 来自 问答

已知数列[[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 个 数组。

回到顶部