猿问

Javascript 组合算法的问题

组合长度: 4 (变量)
X 在 组合里的个数: 2 (变量)
数字在组合里的个数:4 - 2 (变量)

生成 X 和数字的所有组合, 例如如下

X0X0
X1X2

X2X1
1X2X
3X0X


HUX布斯
浏览 602回答 1
1回答

慕容3067478

这个问题我们可以分成两部分来看:我们把X看作是占位符,X的个数为xlen,在所有的位置中挑出xlen个位置占住,因为所有的X都是一样的,因此占住的位置选择是组合问题: a=len!/(xlen!*(len-xlen)!);除X占住外的剩余的位置,就可以任意放置数字了,而这数字是自由排列问题:b=len^(len-xlen);最后所有的组合个数为: sum = a*b;看题目中的例子,len=4, xlen=2,数字的范围为0-3,个数为2(len-xlen)。a = 4!/(2!*2!) = 6;b = 4^2 = 16;sum = a*b = 96;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答