【发布时间】:2012-07-06 19:20:27
【问题描述】:
我正在寻找一种算法来找到 n 个项目的 K 值的所有组合。
例子:
K 值为 [R,B] & N 为 2 所以我得到 {RR, RB, BR, BB} 2*2 = 4 种方式
K 值为 [R,B] & N 为 3 所以我得到 {RRR, RRB, RBB, RBR, BRR, BRB, BBR, BBB} 2*2*2 = 8 种方式
我需要找出通用算法来找到所有可能的方式,在这些方式中,K 个项目可以排列在 N 个插槽中。 (允许重复)
另一个例子是:
K 值为 [R,G,B] & N 为 5,所以我需要找到 3^5 = 81 种组合。
【问题讨论】:
-
官方术语是variations,因为顺序是相关的。您的问题与 N 位基数 K 数字一一对应。
-
我同意@MarkoTopolnik。但这几乎是关于 SO 的常见问题解答,所以我投票结束。
标签: java algorithm combinations