如何计算多个数组随机抽取元素时的所有可能组合总数
多数组各选1个元素的组合总数计算方案
你描述的从每个字符串数组中各随机取1个元素输出的场景,直接用**乘法计数原理(分步计数原理)**计算总组合数即可,不需要提前做全量枚举统计。
- 计算规则:当选择过程分多步完成、每一步从对应数组选元素的操作互不干扰时,所有可能的组合总数量等于每个数组元素个数的连乘积。
- 注意事项:该计算逻辑默认不同数组里即使存在内容完全相同的字符串,只要来自不同数组就算独立组合,和你当前的程序选取逻辑完全匹配。如果业务需要对最终输出的字符串内容做去重统计,该公式不适用,需要枚举全量组合后去重计数。
示例计算
给出的示例代码如下:
string[] a = { "item1", "item2", "item3", "item4" } string[] b = { "item1", "item2", "item3"} string[] c = { "item1", "item2", "item3", "item4", "item5" }
三个数组的元素个数分别为4、3、5,代入公式计算总组合数:4 × 3 × 5 = 60
即该场景下一共存在60种不同的元素组合。
内容的提问来源于stack exchange,提问作者potato yand
相关产品推荐
相关产品推荐

